When dropping a fragment queue count the number of frags in the queue.
Details
Scapy test program here:
http://people.freebsd.org/~thj/tests/sendpartialchain.py
The test program sends the final two fragments of a three fragment UDP chain,
but does not send the final fragment. When run before this change the timeout
counter will increase by 1 after frag timeout (60 seconds), with the change it
will increase by 2.
Diff Detail
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 20142 Build 19636: arc lint + arc unit
Event Timeline
sys/netinet6/frag6.c | ||
---|---|---|
864 | My sense is that this should increment timeout by one (since one reassembly queue timed out), but also increment dropped by the number of fragments. What do you think about that approach? (I'm not sure there is a "right" approach, as long as we document the approach we took?) | |
883 | Same thing here. | |
901 | Same thing here. |
Not sure where the documentation will go but netstat -s -p ip6 says "fragments" not "packets" so this change sees correct.
Hit enter too early; you might want to be slightly more verbose in the commit message as to why this change is done.