13480d3e0b
RFC 8200 says: "If the fragment is a whole datagram (that is, both the Fragment Offset field and the M flag are zero), then it does not need any further reassembly and should be processed as a fully reassembled packet (i.e., updating Next Header, adjust Payload Length, removing the Fragment header, etc.). .." That means we should remove the fragment header and make all the adjustments rather than just skipping over the fragment header. The difference should be noticeable in that a properly handled atomic fragment triggering an ICMPv6 message at an upper layer (e.g. dest unreach, unreachable port) will not include the fragment header. Update the test cases to also test for an unfragmentable part. That is needed so that the next header is properly updated (not just lengths). MFC after: 3 weeks Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D22155 |
||
---|---|---|
.. | ||
frag6_01.py | ||
frag6_01.sh | ||
frag6_02.py | ||
frag6_02.sh | ||
frag6_03.py | ||
frag6_03.sh | ||
frag6_04.py | ||
frag6_04.sh | ||
frag6_05.py | ||
frag6_05.sh | ||
frag6_06.py | ||
frag6_06.sh | ||
frag6_07.py | ||
frag6_07.sh | ||
frag6_08.py | ||
frag6_08.sh | ||
frag6_09.py | ||
frag6_09.sh | ||
frag6_10.py | ||
frag6_10.sh | ||
frag6_11.py | ||
frag6_11.sh | ||
frag6_12.py | ||
frag6_12.sh | ||
frag6_13.py | ||
frag6_13.sh | ||
frag6_14.py | ||
frag6_14.sh | ||
frag6_15.py | ||
frag6_15.sh | ||
frag6_16.py | ||
frag6_16.sh | ||
frag6_17.py | ||
frag6_17.sh | ||
frag6_18.py | ||
frag6_18.sh | ||
frag6_19.py | ||
frag6_19.sh | ||
frag6_20.py | ||
frag6_20.sh | ||
frag6.subr | ||
Makefile | ||
sniffer.py |