--- a/src/internet-stack/ipv6-raw-socket-impl.cc Thu Jun 03 17:38:22 2010 +0100
+++ b/src/internet-stack/ipv6-raw-socket-impl.cc Fri Jun 04 07:05:22 2010 +0900
@@ -18,6 +18,7 @@
* Author: Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
*/
+#include <netinet/in.h>
#include "ns3/inet6-socket-address.h"
#include "ns3/node.h"
#include "ns3/packet.h"
@@ -264,7 +265,10 @@
if (data.packet->GetSize () > maxSize)
{
Ptr<Packet> first = data.packet->CreateFragment (0, maxSize);
- data.packet->RemoveAtStart (maxSize);
+ if (!(flags & MSG_PEEK))
+ {
+ data.packet->RemoveAtStart (maxSize);
+ }
m_data.push_front (data);
return first;
}