|
Bugzilla – Full Text Bug Listing |
| Summary: | "Order" field in the MacHeader for QoS operation using OcbWifiMac should be 0 | ||
|---|---|---|---|
| Product: | ns-3 | Reporter: | Karsten Roscher <sfx> |
| Component: | wave module | Assignee: | Junling Bu <linlinjavaer> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | sfx, tomh |
| Priority: | P5 | ||
| Version: | pre-release | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Attachments: |
Patch for the described solution against release ns-3.24
The patch for the Order field of AdhocWifiMac and OcbWifiMac classes |
||
Assigning to Junling to review this patch. Created attachment 2221 [details]
The patch for the Order field of AdhocWifiMac and OcbWifiMac classes
Hi Karsten Roscher, I think you are right. Since OcbWifiMac here is implemented by reference to AdhocWifiMac, I check current ns-3-dev and find that: (1) StaWifiMac and ApWifiMac class has disable this by "hdr.SetNoOrder()" (2) AdhocWifiMac and OcbWifiMac has not done yet, I think here we can refer to StaWifiMac. (3) MeshWifiInterfaceMac is also the subclass of RegularWifiMac, and has the method "Enqueue", but I am not sure how to deal with this class. I extend your current patch a little to fix this issue in AdhocWifiMac and OcbWifiMac classes. However, I am not sure whether my understand is right or not. I suggest some wifi module maintainers to review this change. pushed in changeset 11918:6a6e61ac6287 |
Created attachment 2172 [details] Patch for the described solution against release ns-3.24 Packets sent with a wifi device using the OcbWifiMac (e.g. created by the Wifi80211pHelper) have the "Order" field set to 1 in the Frame Control field since it is the default value set in the constructor of the WifiMacHeader. However, IEEE Std 802.11-2012 states in 8.2.4.1.10 that this field is used in QoS data or management frames to indicate the presence of a HT Control field in the frame, which is not used for 802.11p. With the field set to 1, parsing the contents of MAC frames in PCAP traces of 802.11p devices in Wireshark is impossible since Wireshark expects the HT Control field to be there in this case. Suggested solution: Set the header field to 0 in OcbWifiMac::Enqueue if QoS is enabled.