ip_reass() fails to reassemble fragmented out-of-order traffic

Eugene Grosbein egrosbein at rdtc.ru
Mon Jul 9 11:13:57 UTC 2012


09.07.2012 16:49, Eugene Grosbein пишет:
> Hi!
> 
> For long time I suffer from RELENG_8's inability to reassemble several types
> of incoming fragmented packets when they arrive of-of-order.
> 
> For example: my gif(4) interface has MTU=1500, so it gets fragmented
> when it goes out to the Internet. For some reason, in this setup 80% get reordered
> while traveling the Internet. tcpdump shows me that at receiving side.
> 
> While I send these packets, sysctl net.inet.ip.fragpackets increases at receiving side.
> 
> No one reordered packet get reassembled. Some packet's fragments arrive in order
> and those get reassembled just fine and tcpdump shows them at receiving gif interface,
> and only them.
> 
> Note, there is no such problem for ICMP fragmented packets in this setup,
> IPIP fragments are affected only.

For some reason, ICMP fragments just pass without reordering.
I've captured all two fragments of one packet at sending side
and at receiving side and put them online here:
http://www.grosbein.net/freebsd/reorder/

tcpdump shows no errors in fragment's checksums.
Still, they were not reassembled.

Eugene Grosbein


More information about the freebsd-net mailing list