From 216983828cce51fc136757dbea2fae07ac6829d9 Mon Sep 17 00:00:00 2001 From: Tommaso Pecorella Date: Thu, 19 Dec 2013 21:43:02 -0800 Subject: [PATCH] Preserve packet tags upon IPv4 fragmentation --- src/internet/model/ipv4-l3-protocol.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/internet/model/ipv4-l3-protocol.cc b/src/internet/model/ipv4-l3-protocol.cc index b1e86756f..90caa0ba9 100644 --- a/src/internet/model/ipv4-l3-protocol.cc +++ b/src/internet/model/ipv4-l3-protocol.cc @@ -1407,10 +1407,11 @@ Ipv4L3Protocol::Fragments::GetPacket () const std::list, uint16_t> >::const_iterator it = m_fragments.begin (); - Ptr p = Create (); - uint16_t lastEndOffset = 0; + Ptr p = it->first->Copy (); + uint16_t lastEndOffset = p->GetSize (); + it++; - for ( it = m_fragments.begin (); it != m_fragments.end (); it++) + for ( ; it != m_fragments.end (); it++) { if ( lastEndOffset > it->second ) {