Don't remove all tags, only the SocketAddressTag.
1.1 --- a/examples/virtual-net-device.cc Thu Jun 11 16:12:11 2009 +0100
1.2 +++ b/examples/virtual-net-device.cc Fri Jun 12 10:31:19 2009 +0100
1.3 @@ -103,21 +103,24 @@
1.4 void N3SocketRecv (Ptr<Socket> socket)
1.5 {
1.6 Ptr<Packet> packet = socket->Recv (65535, 0);
1.7 - packet->RemoveAllPacketTags ();
1.8 + SocketAddressTag socketAddressTag;
1.9 + packet->RemovePacketTag (socketAddressTag);
1.10 m_n3Tap->Receive (packet, 0x0800, m_n3Tap->GetAddress (), m_n3Tap->GetAddress (), NetDevice::PACKET_HOST);
1.11 }
1.12
1.13 void N0SocketRecv (Ptr<Socket> socket)
1.14 {
1.15 Ptr<Packet> packet = socket->Recv (65535, 0);
1.16 - packet->RemoveAllPacketTags ();
1.17 + SocketAddressTag socketAddressTag;
1.18 + packet->RemovePacketTag (socketAddressTag);
1.19 m_n0Tap->Receive (packet, 0x0800, m_n0Tap->GetAddress (), m_n0Tap->GetAddress (), NetDevice::PACKET_HOST);
1.20 }
1.21
1.22 void N1SocketRecv (Ptr<Socket> socket)
1.23 {
1.24 Ptr<Packet> packet = socket->Recv (65535, 0);
1.25 - packet->RemoveAllPacketTags ();
1.26 + SocketAddressTag socketAddressTag;
1.27 + packet->RemovePacketTag (socketAddressTag);
1.28 m_n1Tap->Receive (packet, 0x0800, m_n1Tap->GetAddress (), m_n1Tap->GetAddress (), NetDevice::PACKET_HOST);
1.29 }
1.30