Bug 985: WiMAX Invalid management message type on wimax-simple
authorFlavio Kubota <flaviokubota@gmail.com>
Tue, 28 Dec 2010 22:23:38 -0200
changeset 6727 e1242c2f97d3
parent 6726 bb11224b1a48
child 6728 faa400fd8fe1
Bug 985: WiMAX Invalid management message type on wimax-simple
src/helper/wimax-helper.cc
--- a/src/helper/wimax-helper.cc	Tue Dec 28 22:22:52 2010 -0200
+++ b/src/helper/wimax-helper.cc	Tue Dec 28 22:23:38 2010 -0200
@@ -545,26 +545,16 @@
 
 }
 
-static void PcapSniffTxEvent (Ptr<PcapFileWrapper> file,
+static void PcapSniffTxRxEvent (Ptr<PcapFileWrapper> file,
                               Ptr<const PacketBurst> burst)
 {
   std::list<Ptr<Packet> > packets = burst->GetPackets ();
   for (std::list<Ptr<Packet> >::iterator iter = packets.begin (); iter != packets.end (); ++iter)
     {
-      WimaxMacToMacHeader m2m ((*iter)->GetSize ());
-      (*iter)->AddHeader (m2m);
-      file->Write (Simulator::Now (), (*iter));
-    }
-}
-
-static void PcapSniffRxEvent (Ptr<PcapFileWrapper> file, Ptr<const PacketBurst> burst)
-{
-  std::list<Ptr<Packet> > packets = burst->GetPackets ();
-  for (std::list<Ptr<Packet> >::iterator iter = packets.begin (); iter != packets.end (); ++iter)
-    {
-      WimaxMacToMacHeader m2m ((*iter)->GetSize ());
-      (*iter)->AddHeader (m2m);
-      file->Write (Simulator::Now (), (*iter));
+	  Ptr<Packet> p = (*iter)->Copy ();
+	  WimaxMacToMacHeader m2m (p->GetSize ());
+	  p->AddHeader (m2m);
+	  file->Write (Simulator::Now (), p);
     }
 }
 
@@ -597,8 +587,8 @@
 
   Ptr<PcapFileWrapper> file = pcapHelper.CreateFile (filename, std::ios::out, PcapHelper::DLT_EN10MB);
 
-  phy->TraceConnectWithoutContext ("Tx", MakeBoundCallback (&PcapSniffTxEvent, file));
-  phy->TraceConnectWithoutContext ("Rx", MakeBoundCallback (&PcapSniffRxEvent, file));
+  phy->TraceConnectWithoutContext ("Tx", MakeBoundCallback (&PcapSniffTxRxEvent, file));
+  phy->TraceConnectWithoutContext ("Rx", MakeBoundCallback (&PcapSniffTxRxEvent, file));
 }
 
 } // namespace ns3