Skip to content

wifi: Restructure wifi-phy

Rediet (Orange) requested to merge wifi-phy-restruct into master

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).
Edited by Rediet (Orange)

Merge request reports