Bug 2836 - Missing VHT information in radiotap header when A-MPDU is used
Missing VHT information in radiotap header when A-MPDU is used
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: wifi
ns-3.27
All All
: P3 minor
Assigned To: sebastien.deronne
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2017-12-05 16:44 UTC by sebastien.deronne
Modified: 2017-12-05 17:07 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description sebastien.deronne 2017-12-05 16:44:42 UTC
When 802.11ac is used and A-MPDU is enabled, I noticed the radiotap header does not contain the VHT information fields.
Comment 1 sebastien.deronne 2017-12-05 16:45:12 UTC
Solution to fix:

             header.SetAmpduStatus (aMpdu.mpduRefNumber, ampduStatusFlags, hdr.GetCrc ());
           }
 
-        if (preamble == WIFI_PREAMBLE_VHT)
+        if (txVector.GetMode ().GetModulationClass () == WIFI_MOD_CLASS_VHT)
           {
             uint16_t vhtKnown = RadiotapHeader::VHT_KNOWN_NONE;
             uint8_t vhtFlags = RadiotapHeader::VHT_FLAGS_NONE;
Comment 2 Tom Henderson 2017-12-05 16:50:38 UTC
(In reply to sebastien.deronne from comment #1)
> Solution to fix:
> 
>              header.SetAmpduStatus (aMpdu.mpduRefNumber, ampduStatusFlags,
> hdr.GetCrc ());
>            }
>  
> -        if (preamble == WIFI_PREAMBLE_VHT)
> +        if (txVector.GetMode ().GetModulationClass () == WIFI_MOD_CLASS_VHT)
>            {
>              uint16_t vhtKnown = RadiotapHeader::VHT_KNOWN_NONE;
>              uint8_t vhtFlags = RadiotapHeader::VHT_FLAGS_NONE;

Looks sufficient to push immediately unless you are waiting for some community input.
Comment 3 sebastien.deronne 2017-12-05 16:52:17 UTC
(In reply to Tom Henderson from comment #2)
> (In reply to sebastien.deronne from comment #1)
> > Solution to fix:
> > 
> >              header.SetAmpduStatus (aMpdu.mpduRefNumber, ampduStatusFlags,
> > hdr.GetCrc ());
> >            }
> >  
> > -        if (preamble == WIFI_PREAMBLE_VHT)
> > +        if (txVector.GetMode ().GetModulationClass () == WIFI_MOD_CLASS_VHT)
> >            {
> >              uint16_t vhtKnown = RadiotapHeader::VHT_KNOWN_NONE;
> >              uint8_t vhtFlags = RadiotapHeader::VHT_FLAGS_NONE;
> 
> Looks sufficient to push immediately unless you are waiting for some
> community input.

I will push it.
Comment 4 sebastien.deronne 2017-12-05 17:07:36 UTC
Pushed in changeset 13198:44744f91e4cf