Commit Graph

20127 Commits

Author SHA1 Message Date
Sébastien Deronne
e744136b0b wifi: Allow to add an additional buffer time to protect beyond end of the immediate frame exchange
in case of non-zero TXOP limit when a single frame exchange is protected
2025-05-12 08:37:21 +02:00
Sébastien Deronne
46cda10f70 wifi: Add ability to select whether the NAV protection should cover the entire TXOP or only the current frame exchange 2025-05-12 08:37:21 +02:00
Tom Henderson
500cf9acac examples: Correct outdated comments 2025-05-09 20:38:46 +00:00
Tom Henderson
1703cbc2ca examples: Fix disabled command-line argument and trace mobility by default 2025-05-09 20:38:46 +00:00
Stefano Avallone
3342600235 wifi: Ensure aux PHY max modulation class constraint is applied 2025-05-09 06:35:23 +00:00
Stefano Avallone
7d6b267751 wifi: EMLSR Manager relies on CAM for resetting backoffs when no PHY on link 2025-05-09 06:35:23 +00:00
Stefano Avallone
1114c4a4a7 wifi: Add ICF sender address to IcfDropReason trace 2025-05-09 06:35:23 +00:00
Stefano Avallone
81534524bf wifi: Do not constrain aux PHY max width based on aux PHY max modulation class 2025-05-09 06:35:23 +00:00
Stefano Avallone
f750cf045f wifi: Do not switch main PHY if aux PHY CCA is not used and switch back delay < PIFS 2025-05-09 06:35:23 +00:00
Stefano Avallone
d44a8a0baf wifi: Add a new main PHY switch trace fired upon CTS timeout 2025-05-09 06:35:23 +00:00
Stefano Avallone
fb6eaeb648 wifi: EMLSR test uses BA agreement notification instead of fixed delay 2025-05-09 06:35:23 +00:00
Stefano Avallone
ebf7585c3d wifi: Update NAV and TXOP holder when MAC is notified of MAC header reception 2025-05-09 06:35:23 +00:00
Stefano Avallone
4322bdb888 wifi: Switch main PHY back timer starts with main PHY channel switch
Enables to interrupt the switch if appropriate events occur during the
switch.
2025-05-09 06:35:23 +00:00
Stefano Avallone
cc41421320 wifi: AP MLD starts transition delay when EMLSR client switches to listening operations
... when the remaining TXOP time in a DL TXOP is not enough to send a
CF-End frame
2025-05-09 06:35:23 +00:00
Stefano Avallone
e0195af625 wifi: Set CCA-ED threshold when a PHY is connected to a link
...rather than when it starts switching. Fixes cases in which the medium
sync delay timer is stopped during the link switch, i.e., when the main
PHY switches to the link of an aux PHY that is receiving a CTS in
response to an RTS (receiving the CTS terminates the medium sync delay
timer on the aux PHY link)
2025-05-09 06:35:23 +00:00
Stefano Avallone
0d075fe305 wifi: Compute correct time interval when main PHY switches at ICF end
Also, make the usage of the StaWifiMac::EmlsrLinkSwitch trace
source more intuitive.
2025-05-09 06:35:23 +00:00
Stefano Avallone
6f4be08805 wifi: Generate in-device interference for all PHY interfaces of a PHY 2025-05-09 06:35:23 +00:00
Stefano Avallone
b8bfb85379 wifi: Generate in-device interference on other PHYs rather than other links 2025-05-09 06:35:23 +00:00
Stefano Avallone
71b5f564b2 wifi: Store the Transmitter Address in a separate variable 2025-05-09 06:35:23 +00:00
Stefano Avallone
a880dcc038 wifi: Downgrade a restrictive assert to a warning 2025-05-09 06:35:23 +00:00
Stefano Avallone
28f5006241 wifi: Do not start ongoing TXOP end timer if RTS is not responded 2025-05-09 06:35:23 +00:00
Stefano Avallone
e62395b22f wifi: Move logic to drop ICF received by aux PHY to EMLSR Manager
Enables to:

- Exploit switch interruption when aux PHYs receive ICFs
- Ignore channel switch delay when main PHY was switching to the aux PHY
  link
2025-05-09 06:35:23 +00:00
Stefano Avallone
73752f2b90 wifi: Do not start switchMainPhyBack timer if aux PHYs switch link 2025-05-09 06:35:23 +00:00
Stefano Avallone
03951a7211 wifi: Always reset channel access requested if main PHY does not switch with non-TX capable aux PHYs 2025-05-09 06:35:23 +00:00
Stefano Avallone
b2d3145bfd wifi: Postpone aux PHY going to sleep if main PHY has been scheduled to switch link 2025-05-09 06:35:23 +00:00
Sébastien Deronne
a9ea2cb312 wifi: Extend CCA tests to cover 802.11be specs 2025-05-07 20:26:26 +02:00
Sébastien Deronne
fae13d9de5 wifi: Handle CCA for 802.11be PHY 2025-05-07 20:26:26 +02:00
Sébastien Deronne
176e382b41 wifi: Make CCA PHY indication more reusable over PHY entities 2025-05-07 20:26:26 +02:00
Sébastien Deronne
dd5ce2e037 wifi: Do not instantiate HE PHY headers for EHT PPDUs 2025-05-07 20:26:26 +02:00
Sébastien Deronne
742f736723 wifi: Fix SIG-B mode default initialization in TXVECTOR 2025-05-07 20:26:26 +02:00
Sébastien Deronne
6f201e3558 wifi: Minor improvements to InterferenceHelper 2025-05-07 20:26:25 +02:00
Gabriel Ferreira
bae579669c ci: Replace OpenMPI with MPICH on Fedora jobs 2025-05-07 11:21:18 +02:00
Gabriel Ferreira
d449774e5a ci: Print verbose output for failed test jobs 2025-05-07 11:21:18 +02:00
Gabriel Ferreira
3db8c759ca build: Fix OpenMPI and MPICH arguments for CI via ns3 2025-05-07 11:21:10 +02:00
Gabriel Ferreira
3a930cd85c doc, wifi: (fixes #1158) Reintroduce WifiPpdu's destructor due to PIMPL
Also add reference explaining why declaring a default destructor in the header is a problem
2025-05-07 10:53:07 +02:00
Eduardo Almeida
7394a00d6a ci: Upgrade Fedora jobs to versions 40 and 41 2025-05-05 14:26:55 +00:00
André Apitzsch
6b5edecc7b openflow: Update build instructions 2025-05-05 09:42:11 +02:00
Gabriel Ferreira
34ea9df2b2 antenna: (fixes #1217) Use std::size_t instead size_t, not to require c headers 2025-05-04 14:02:09 +02:00
Tommaso Pecorella
21cf274d15 doc: fix NS_TEST macro name in the documentation 2025-05-04 09:45:20 +02:00
Stefano Avallone
f3511360d5 ci: dia requires libxml2-legacy 2025-05-02 18:00:56 +02:00
Stefano Avallone
3690219d7d wifi: Fix valgrind issue with channel access manager test 2025-05-02 18:00:56 +02:00
Stefano Avallone
bb56f4913d core: Add parentheses around test macro parameters (suggested by André Apitzsch)
Fixes build warnings with clang
2025-05-02 18:00:56 +02:00
Stefano Avallone
f4e804afe1 Fix warnings with g++ 15.1.1 in optimized mode 2025-05-02 18:00:51 +02:00
Stefano Avallone
463ebb3fea wifi: Better document that GetMcsValue() cannot be called for non-HT 2025-04-30 09:02:00 +00:00
Stefano Avallone
9c53352039 wifi: Remove GetAckTxTime() and GetBlockAckTxTime() functions 2025-04-30 09:02:00 +00:00
Stefano Avallone
2a90d4dddc wifi: Fix EIFS computation
EIFS depends on the modulation class of the PPDU whose reception failed
rather than on the latest standard supported by a device
2025-04-30 09:02:00 +00:00
Stefano Avallone
28828fe462 wifi: CAM stops backoff countdown while no PHY is on the link
...and reset all backoffs if no PHY is on the link for more
than a configured threshold.
2025-04-30 09:02:00 +00:00
Stefano Avallone
384467cd96 wifi: Take sleep/off period into account when computing access grant start 2025-04-30 09:02:00 +00:00
Stefano Avallone
4496dcfe88 wifi: Retrieve off/sleep state from PHY rather than a member variable 2025-04-30 09:02:00 +00:00
Stefano Avallone
df7f3ef27b wifi: Fix the time the NSlotsLeftAlert CAM trace is fired
It cannot be earlier than the access grant start time.
2025-04-30 09:02:00 +00:00