--- a/src/internet/model/ipv6-l3-protocol.cc Tue Jan 31 09:21:49 2012 -0800
+++ b/src/internet/model/ipv6-l3-protocol.cc Sat Feb 04 13:54:15 2012 +0100
@@ -969,15 +969,16 @@
if (ipv6Extension)
{
uint8_t nextHeaderStep = 0;
+ uint8_t curHeader = nextHeader;
nextHeaderStep = ipv6Extension->Process (p, nextHeaderPosition, ip, dst, &nextHeader, isDropped);
nextHeaderPosition += nextHeaderStep;
- NS_ASSERT_MSG (nextHeaderStep != 0, "Zero-size IPv6 Option Header, aborting");
-
if (isDropped)
{
return;
}
+ NS_ASSERT_MSG (nextHeaderStep != 0 || curHeader == Ipv6Header::IPV6_EXT_FRAGMENTATION,
+ "Zero-size IPv6 Option Header, aborting" << *packet );
}
else
{