src/internet-stack/ipv4-l3-protocol.cc
changeset 5977 288416b082a4
parent 5916 8f94a0ca3964
child 5984 7a60b058e7b4
child 6045 648d35d8fed6
--- a/src/internet-stack/ipv4-l3-protocol.cc	Mon Feb 08 22:35:08 2010 +0100
+++ b/src/internet-stack/ipv4-l3-protocol.cc	Mon Feb 08 22:44:12 2010 -0800
@@ -463,6 +463,12 @@
     }
   packet->RemoveHeader (ipHeader);
 
+  // Trim any residual frame padding from underlying devices
+  if (ipHeader.GetPayloadSize () < packet->GetSize ())
+    {
+      packet->RemoveAtEnd (packet->GetSize () - ipHeader.GetPayloadSize ());
+    }
+
   if (!ipHeader.IsChecksumOk ()) 
     {
       m_dropTrace (ipHeader, packet, DROP_BAD_CHECKSUM, interface);