wifi: Restructure wifi-phy
Some restructuring of WifiPhy
is necessary considering the size of the corresponding file. One solution would be to have PhyEntity
classes that contain the "clause" specific part (i.e. HT/VHT/HE etc) parts of the PHY process.
The name PhyEntity
is maybe not the best choice but the notion of PHY entity is in the standard at the beginning of each PHY layer description clause. Here's the proposed architecture.
-
PhyEntity
(abstract)-
MimoPhyEntity
(abstract, for SS and MCS handling)HtPhyEntity
VhtPhyEntity
HePhyEntity
- POSSIBLE: DmgPhyEntity
-
NonHtPhyEntity
(abstract, for rate-based, i.e. non-MCS, mode handling)-
DsssPhyEntity
(native DSSS and 11b) -
OfdmPhyEntity
(all 11a variants) ErpPhyEntity
-
-
This MR shows the advantage of having such classes for:
-
WifiMode
handling, - PPDU field sizes,
- payload duration simplification
This can easily be extended to include other PHY entity-specific procedures.
WifiPhy
is already 2k (1.5k for .cc and 500 for .h) lines shorter...
In addition:
- A bug on the number of HT-LTFs for HT-GF has been corrected
- The number of BCC encoders (Nes) is now available for all VHT MCSs (all exceptions are handled).