The idea is great, but the implementation has lots of issues, mainly from a performance ...
17 years, 1 month ago
(2009-04-17 11:38:37 UTC)
#1
The idea is great, but the implementation has lots of issues, mainly from a
performance POV. I think that the best way to deal with the performance issue
would be to not add a radiotap header to the packet itself but to write it
directly with the PcapWriter for each packet.
i.e.,:
class PcapWriter
{
public:
struct RadiotapHeader {
...
};
void WriteRadiotapPacket (Ptr<const Packet> p, RadiotapHeader header) {
.. write each field of the header directly in the outgoing stream
.. write the packet content now
}
};
http://codereview.appspot.com/40109/diff/1/10
File src/devices/wifi/yans-wifi-phy.cc (right):
http://codereview.appspot.com/40109/diff/1/10#newcode411
Line 411: h.SetTsft(Now().GetMicroSeconds());
in the real world, the radiotap header is used _only_ for received packets, not
transmitted packets.
http://codereview.appspot.com/40109/diff/1/10#newcode417
Line 417: packet->AddHeader(h);
Adding the header here has lots of really bad consequences but the main one is
that the rx delays are now doing to be calculated _with_ the header at the
receiver.
http://codereview.appspot.com/40109/diff/1/10#newcode582
Line 582: packet->AddHeader(h);
hahah ! Remove + Add ?? This is horribly bad from a performance point of view:
it will trigger a packet deep copy in each receiver.
Issue 40109: radiotap header support
(Closed)
Created 17 years, 1 month ago by Nicola Baldo
Modified 16 years, 10 months ago
Reviewers: Mathieu Lacage
Base URL:
Comments: 3