Bigger packet after mangling queued packets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,


I recently discovered netfilter_queue, and have a question about
changing the packet size before accepting it. What happens when the
accepted packet is now too large and would require splitting?

I have tested the following situation. Computer A filters outgoing UDP
packets toward a given port and multiple by 10 their payload before
accepting them. An app sends a packet from A to computer B, which is
reachable through a LAN. The MTU of the corresponding ethernet devices
is 1500. I sent a packet with an initial payload of 200 bytes, which
is correctly multiplied by 10 by my filter callback, and gives a
single IP packet of more than 2000 bytes. On computer B, I see through
tcpdump that a single packet arrives, with an erroneous IP header
(total length is 1500, packet is marked as fragmented), but a correct
UDP header (length is 2008 bytes). The 2000 bytes of UDP payload are
correctly received by the socket on computer B. How would that happen?

I have seen the discussion about what may happen to a packet that is
larger (http://marc.info/?l=netfilter&m=133494380818412), is this the
case here?


Many thanks,
-- 
BRAMERET Pierre-Antoine
--
To unsubscribe from this list: send the line "unsubscribe netfilter" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux