Stefano Avallone
b589c232b9
wifi: Make WifiMac subclasses independent of MacLow
2021-01-27 19:56:41 +01:00
Stefano Avallone
557ad4c76e
wifi: Make Txop independent of MacLow
2021-01-27 19:54:13 +01:00
Stefano Avallone
2ea96f9f18
wifi: Make QosTxop independent of MacLow
2021-01-27 19:54:13 +01:00
Stefano Avallone
12745641e6
wifi: Make ChannelAccessManager independent of MacLow
2021-01-27 19:54:13 +01:00
Stefano Avallone
da674b9139
wifi: Remove the WifiAckPolicySelector
2021-01-27 19:54:13 +01:00
Stefano Avallone
1b3c743b0f
wifi: Make MPDU and MSDU aggregators independent of MacLow
2021-01-27 19:54:13 +01:00
Stefano Avallone
9a4a3ce716
wifi: Remove PCF support
...
PCF has been deprecated and will be removed from the IEEE 802.11 standard.
2021-01-27 19:54:01 +01:00
Stefano Avallone
0719242888
wifi: Remove MacLow usage from tests
2021-01-26 23:28:01 +01:00
Stefano Avallone
d3b9214f3f
wifi: Switch to using the FrameExchangeManagers on all stations
2021-01-26 22:32:24 +01:00
Stefano Avallone
3879294481
wifi: Update rate if retry limit is not reached in MinstrelHT
2021-01-26 22:32:24 +01:00
Stefano Avallone
922e150f68
wifi: Introduce the HE Frame Exchange Manager
...
Empty for now.
2021-01-26 22:32:24 +01:00
Stefano Avallone
5300841931
wifi: Introduce the VHT Frame Exchange Manager
2021-01-26 22:32:24 +01:00
Stefano Avallone
9177900cde
wifi: Add a new GetNextAmsdu method to MsduAggregator
...
which does not dequeue MSDUs.
2021-01-26 22:32:24 +01:00
Stefano Avallone
1cb7bb3526
wifi: Introduce the HT Frame Exchange Manager
2021-01-26 22:32:24 +01:00
Stefano Avallone
ef0ce76a62
wifi: Add Block Ack support to WifiDefaultAckManager
2021-01-26 22:32:24 +01:00
Stefano Avallone
255499b3c7
wifi: Add some new QosTxop methods
2021-01-26 22:32:24 +01:00
Stefano Avallone
597b78aaee
wifi: Add per-(address,tid) statistics to WifiMacQueue
...
that can be retrieved in constant time in the average case
2021-01-26 22:32:24 +01:00
Stefano Avallone
75e275872a
wifi: Add a new GetNextMpdu method to MpduAggregator
...
which does not dequeue MSDUs.
2021-01-26 22:32:24 +01:00
Stefano Avallone
2fdb49503e
wifi: Pass the MAC to MSDU and MPDU aggregator
2021-01-26 22:32:24 +01:00
Stefano Avallone
e519aa579d
wifi: Add a BlockAckAgreement subclass for recipients
2021-01-26 22:32:24 +01:00
Stefano Avallone
3d1f8a69c9
wifi: Use BlockAckReqType for the type of Block Ack Requests
2021-01-26 22:32:24 +01:00
Stefano Avallone
05164c82d6
wifi: Support Compressed Block Acks with different bitmap sizes
2021-01-26 22:32:24 +01:00
Stefano Avallone
2abd505920
wifi: BlockAckAgreement selects the type of BAs/BARs
2021-01-26 22:32:24 +01:00
Stefano Avallone
2b8cb2b182
wifi: Rework block ack type
2021-01-26 22:32:24 +01:00
Stefano Avallone
cd34fa9290
wifi: Rework MacLowTransmissionParameters members
2021-01-26 22:32:24 +01:00
Tom Henderson
83abb82f0e
wave: ( fixes #341 ) Resolve reference cycles
2021-01-25 10:45:50 -08:00
Stefano Avallone
96c1306df9
wifi, wave: Rescan python bindings
2021-01-25 13:33:40 +01:00
Stefano Avallone
0e7366d744
wave: Replace WaveMacLow with WaveFrameExchangeManager
2021-01-24 16:02:37 +01:00
Stefano Avallone
75ee956e65
wifi: Remove WifiRemoteStationManager::UpdateFragmentationThreshold ()
...
FrameExchangeManager derives the size of a fragment from the previous fragment.
2021-01-24 16:02:37 +01:00
Stefano Avallone
4296ea596f
wifi: Add a test for TXOP rules
2021-01-24 16:02:37 +01:00
Stefano Avallone
d9e78429cb
wifi: Add support for PIFS recovery
2021-01-24 16:02:34 +01:00
Stefano Avallone
cf13cf328f
wifi: Switch to using the QosFrameExchangeManager on QoS stations
2021-01-24 15:58:50 +01:00
Stefano Avallone
ba68ed7d78
wifi: Use HT STAs in block ack test suite
...
because Basic Block Ack support is incomplete.
2021-01-24 15:58:50 +01:00
Stefano Avallone
d393247888
wifi: Introduce the QoS Frame Exchange Manager
2021-01-24 15:58:12 +01:00
Stefano Avallone
edc9601742
wifi: Add new useful QosTxop methods
2021-01-22 19:30:01 +01:00
Stefano Avallone
1209d58fb7
wifi: Make ChannelAccessManager::GetAccessGrantStart() public
...
So that FEMs can check whether the channel has been idle in the
last IFS interval.
2021-01-22 19:23:51 +01:00
Stefano Avallone
d7cc8c3321
wifi: APs store buffer status reports carried by QoS frames
2021-01-22 19:23:51 +01:00
Stefano Avallone
b60fb53916
wifi: Add support for setting the Queue Size subfield in the QoS control field
2021-01-22 19:23:51 +01:00
Stefano Avallone
95711be71b
wifi: Fix valgrind for wifi-devices-{dcf, edca} tests
2021-01-22 13:00:40 +01:00
Stefano Avallone
5ab9359b80
wifi: Fix valgrind for wifi-mac-queue test
2021-01-21 23:28:55 +01:00
Tommaso Pecorella
3f8a2afdc8
build: partially rev. a455a427 (-Wno-parentheses)
...
This fixes #339 . "-Wno-parentheses" is still needed by GTK+3.22
2021-01-20 20:26:37 +00:00
Stefano Avallone
279b3d5986
wifi,wave,mesh: Rescan python bindings
2021-01-20 12:27:16 +01:00
Stefano Avallone
16c934115f
wifi: WifiMacHelper installs protection and ack managers
2021-01-20 12:27:16 +01:00
Stefano Avallone
3b0629d877
wifi: Switch to using the FrameExchangeManager on non-QoS stations
2021-01-20 12:27:16 +01:00
Stefano Avallone
0e414b6c90
wifi: Enable QoS support in the backward compatibility examples
...
Otherwise, HT stations send QoS data frames that cannot be received
by non-QoS stations. Also, check that the receiver supports HT
before calling GetMaxAmpduSize() with WIFI_MOD_CLASS_HT.
2021-01-20 12:27:16 +01:00
Stefano Avallone
ffd108ae49
wifi: Initialize more MAC header fields
2021-01-20 12:27:16 +01:00
Stefano Avallone
31016d8147
wifi: Add the FrameExchangeManager base class
2021-01-20 12:27:16 +01:00
Stefano Avallone
1b03c3826a
wifi: Add a method to MacTxMiddle to reset the current sequence number
2021-01-20 12:27:16 +01:00
Stefano Avallone
29cb1bfe0f
wifi: Txop holds a channel access state
...
This is needed because (Qos)Txop will no longer hold a current MPDU
that can be used to determine whether a frame exchange is ongoing.
2021-01-20 12:27:16 +01:00
Stefano Avallone
172f0f8598
wifi: Make the methods to update CW public
...
Also, they automatically trace the updated CW value.
RegularWifiMac::{TxOk, TxFailed} are made public, too.
2021-01-20 12:27:16 +01:00