src/internet/model/ipv6-l3-protocol.cc
changeset 7701 c96a01de2973
parent 7680 722145d57c8a
child 7702 2778027c929c
--- 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
         {