Bugzilla – Bug 905
WimaxNetDevice loses packet uid, tags, and memory optimization
Last modified: 2010-07-06 03:25:12 UTC
At first glance, it appears to me that the Wimax device simulates by serializing a packet to a bit stream: packet->CopyData (pstart, packet->GetSize ()); and back to a Packet at the other end: Ptr<Packet> p = Create<Packet> (&(pstart[pos]), packetSize); This explains why PyViz does not work with Wimax devices. When a packet traverses the wimax link, the packet UID is not preserved. Additionally, I tried to add packet tags, and then byte tags, to no avail. Additionally, this serialization is bad for memory. Every time a packet traverses a wimax link it loses the "dummy bytes" memory optimization, forever.
In fact, I am seeing this comment: /* Converts back the bit buffer (bvec) to the actual burst. Actually creates byte buffer from the bvec and resets the buffer of each packet in the copy of the orifinal burst stored before transmitting. By doing this it preserves the metadata and tags in the packet. Function could also be named DeserializeBurst because actually it copying to the burst's byte buffer. */ Ptr<PacketBurst> SimpleOfdmWimaxPhy::ConvertBitsToBurst (bvec buffer) However, the comment is not in conformity with the actual code: [...] Ptr<Packet> p = Create<Packet> (&(pstart[pos]), packetSize); RecvBurst->AddPacket (p); This creates a brand new packet, without any metadata or tags...
Fixed in changeset 6402 088c5e38acb3