Stefano Avallone
0b7feec983
wifi: Suspend/resume medium access on EMLSR clients when using another EMLSR link
...
Backoff counter is suspended/resumed accordingly.
2023-09-09 21:15:44 +00:00
Stefano Avallone
1b18f743e1
wifi: AP continues TXOP if missing response from EMLSR client
2023-09-09 21:15:44 +00:00
Stefano Avallone
463d73aeda
wifi: STAs not responding to a MU PPDU need to be protected again in the same TXOP
2023-09-09 21:15:44 +00:00
Stefano Avallone
609773ca22
wifi: Use ForwardMpduDown to send CF-End frame
2023-09-09 21:15:44 +00:00
Stefano Avallone
a702a96c2f
wifi: Set switching delay to zero for EMLSR main PHY when needed
2023-09-09 21:15:44 +00:00
Stefano Avallone
b98a80b581
wifi: Drop ICF received on a link blocked because another EMLSR link is being used
...
Fixes issues when AP MLD and EMLSR client concurrently send frames to each other.
2023-09-09 21:15:44 +00:00
Stefano Avallone
16e0836234
wifi: AP MLD (un)block links when an EMLSR client starts an UL TXOP
2023-09-09 21:15:44 +00:00
Stefano Avallone
cb94997553
wifi: Main PHY takes over UL TXOP after aux PHY has transmitted RTS
2023-09-09 21:15:44 +00:00
Stefano Avallone
bdc2e95cff
wifi: Aux PHY of an EMLSR client sends RTS to initiate an UL TXOP
2023-09-09 21:15:44 +00:00
Stefano Avallone
c0e199f103
wifi: (Un)block other EMLSR links when an UL TXOP starts/ends
2023-09-09 21:15:44 +00:00
Stefano Avallone
b2d2d37c14
wifi: Extend EMLSR test to check blocked links at non-AP MLD side
2023-09-09 21:15:44 +00:00
Stefano Avallone
12b3764437
wifi: (Un)block other EMLSR links when a DL TXOP starts/ends
2023-09-09 21:15:44 +00:00
Stefano Avallone
1014ac4f52
wifi: Use higher PHY RX start delay
...
Otherwise, an EMLSR client may consider the TXOP as ended before the RX START
indication for a HT/VHT/HE/EHT PPDU
2023-09-09 21:15:44 +00:00
Stefano Avallone
1f4b4cbfd6
wifi: Add StaWifiMac methods to block transmissions on a link
2023-09-09 21:15:44 +00:00
Stefano Avallone
e471c20cb4
wifi: AP MLD assumes EMLSR client is back to listening if it is does not receive a response
2023-09-09 21:15:44 +00:00
Stefano Avallone
1399177627
wifi: Store stations expected to respond in WifiTxTimer
2023-09-09 21:15:44 +00:00
Stefano Avallone
6f8b3a039d
wifi: Make FEM::RxStartIndication protected and virtual
2023-09-09 21:15:44 +00:00
Sébastien Deronne
3396b046e8
wifi: Extend non-HT duplicate tests to verify channel width in TXVECTOR for non-participating HE STAs
2023-09-09 12:27:28 +00:00
Sébastien Deronne
a6fa6bba4f
wifi: Extend non-HT duplicate tests to consider cases where a STA does not respond
2023-09-09 12:27:28 +00:00
Sébastien Deronne
9e3068aac0
wifi: Add checks on channel width reported by TXVECTOR for received PPDUs in non-HT duplicate tests
2023-09-09 12:27:28 +00:00
Sébastien Deronne
aa5958e034
wifi: Fix channel width in reconstructed TXVECTOR when receiving a non-HT duplicate PPDU
2023-09-09 12:27:28 +00:00
Sébastien Deronne
42472134c4
wifi: Cleanup stored TX width from spectrum signal parameters
2023-09-09 12:27:28 +00:00
Sébastien Deronne
3034748f9a
wifi: Store transmission width in WifiPpdu
2023-09-09 12:27:28 +00:00
Sébastien Deronne
d46f8857d7
wifi: Fix number of antennas not set when calling one of the WifiPpdu constructor
2023-09-09 12:27:28 +00:00
Sébastien Deronne
1b47675427
wifi: Directly call GetModulationClass in IsNonHtDuplicate
2023-09-09 12:27:28 +00:00
Sébastien Deronne
45583a3583
wifi: Event does not need to store TXVECTOR since it can be retrieved from the PPDU
2023-09-09 12:27:28 +00:00
Sébastien Deronne
cf6bdfc714
wifi: Call correct PHY entity in derived functions
2023-09-09 12:27:28 +00:00
Alberto Gallegos Ramonet
6bd3b08dc6
lr-wpan: Fix incorrect param in AssociateConfirm
2023-09-01 10:46:53 +09:00
Tommaso Pecorella
c27d5e98a0
wifi: fix optimization error in GCC 12.3
2023-08-31 10:24:18 +02:00
Alberto Gallegos Ramonet
bb1e79423a
lr-wpan: ( fixes #944 ) Fix for-loop in PrintTxQueue(s) functions
2023-08-28 11:57:33 +09:00
Stefano Avallone
63749b37c5
wifi: Fix condition for aborting RX when starting TX
...
The end time of the current reception cannot be later than now plus the delay
until idle (the delay until idle is at least the delay until reception ends),
hence the current reception is not aborted when TX starts while receiving a
PPDU payload.
2023-08-26 21:52:59 +00:00
Stefano Avallone
d3cd6bc879
wifi: ( fixes #942 ) Trace expired MPDUs before removing them from the queue
...
Otherwise, expired MPDUs may be classified as frames that have never been
transmitted, a BlockAckReq to advance the recipient window is not sent
and the throughput goes down to zero.
2023-08-26 21:52:59 +00:00
Stefano Avallone
70a32c145b
wifi: Implement a WifiMacQueue-specific Flush() method
2023-08-26 21:52:59 +00:00
Stefano Avallone
0569e6ad89
wifi: Implement WifiMacQueue::Peek()
2023-08-26 21:52:59 +00:00
Stefano Avallone
4cd1c9d4e4
wifi: Optionally specify the link ID for the next queue to serve
2023-08-26 21:52:59 +00:00
Stefano Avallone
61a6921a89
wifi: Limit TXOP bandwidth upon every transmission
2023-08-26 21:52:59 +00:00
Stefano Avallone
2e3dbaea4e
wifi: Schedule transmission of MU-BARs instead of enqueuing them
2023-08-26 21:52:59 +00:00
Stefano Avallone
ea3e894d7f
wifi: Max value for UL MCS field of User Info fields depends on Trigger Frame variant
2023-08-26 21:52:59 +00:00
Stefano Avallone
a8237503c8
wifi: RR MU scheduler sets the preamble type of DL MU PPDUs earlier
2023-08-26 21:52:59 +00:00
Stefano Avallone
caf9e4547f
wifi: Reset current MU PPDU UID when payload reception ends
...
Improves the fix applied with bdfa4111 . Basically, a non-AP STA could
receive a DL MU PPDU including a MU-BAR TF, store the MU PPDU UID when
processing SIG-B, do not respond to the MU-BAR TF (this may happen in
some cases with EMLSR clients) and used the stored MU PPDU UID to schedule
the reception of the OFDMA payload of the TB PPDU sent by other non-AP STAs.
2023-08-26 21:52:59 +00:00
Tommaso Pecorella
0930699cad
spectrum: fix doxygen warning in utils script
2023-08-26 12:06:37 -05:00
Eduardo Almeida
992c5b53c4
Fix clang-tidy modernize-type-traits warnings
2023-08-24 01:41:29 +01:00
Eduardo Almeida
62b3adef31
Fix clang-tidy modernize-use-transparent-functors warnings
2023-08-24 01:35:02 +01:00
Stefano Avallone
67c81c737e
core: Explicitly instantiate some Callback class and function templates
2023-08-20 13:57:51 +00:00
Stefano Avallone
25377f43ae
wifi: Split computation and enqueuing of EML OMN in EMLSR Manager
2023-08-20 13:56:47 +00:00
Stefano Avallone
2210619b1c
wifi: Use EmlOmn for EML Operating Mode Notification
2023-08-20 13:56:47 +00:00
Stefano Avallone
eba13bbb59
wifi: Extend EMLSR test to check link switching
2023-08-20 13:56:47 +00:00
Stefano Avallone
ad271fddbd
wifi: Add support for limited channel width capabilities of EMLSR aux PHYs
2023-08-20 13:56:47 +00:00
Stefano Avallone
cdabc52473
wifi: EMLSR Manager takes action when notified of received ICF
2023-08-20 13:56:47 +00:00
Stefano Avallone
4cb770cbda
wifi: Allow setting UID of previously received PPDU
...
This is needed, e.g., in case an EMLSR client receives a Trigger frame via an aux PHY and
sends the response via the main PHY.
2023-08-20 13:56:47 +00:00