Bug 1100 - IPv6 fragmentation not handled correctly
IPv6 fragmentation not handled correctly
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: internet
ns-3-dev
All All
: P5 normal
Assigned To: ns-bugs
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-04-15 21:03 EDT by Tommaso Pecorella
Modified: 2011-07-15 14:54 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tommaso Pecorella 2011-04-15 21:03:20 EDT
Two separate issues, but close enough to need one single handler.

Both are related to this function:
uint8_t Ipv6ExtensionFragment::Process (Ptr<Packet>& packet, uint8_t offset, Ipv6Header const& ipv6Header, Ipv6Address dst, uint8_t *nextHeader, bool& isDropped)
found in ipv6-extension.cc

1st one:
when a fragment is received but it's not the last fragment (as is, more are expected), it's called:
      NS_LOG_LOGIC ("Fragment. Drop!");
      m_dropTrace (packet);
This doesn't seems the correct behaviour, as the fragment is not really dropped. This might lead to completely wrong statistics.

2nd one:
I have not found any method to "clean" the fragment buffer when a fragment is lost in space/time.
If this is true, a long simulation might have memory issues (i.e., the buffer will keep increasing).

I know that fragmentation should not really happen in IPv6, but still...
Comment 1 Tommaso Pecorella 2011-05-07 14:39:43 EDT
Fixes to IPv6 fragmentation are available at;

http://codereview.appspot.com/4440051/

The patch does contain also the fixes for IPv4 fragmentation.
Comment 2 Tommaso Pecorella 2011-07-15 14:54:08 EDT
Fixed with revision 7367