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
Stefano Avallone
336cbc6a9d
wifi: WifiRemoteStationManager makes use of WifiMacQueueItems
2021-01-20 12:27:16 +01:00
Stefano Avallone
c43ac51919
wifi: Add public methods to RegularWifiMac to get (Qos)Txops
...
(Qos)Txops can be obtained via attributes anyway, so make it easier
to get them.
2021-01-20 12:27:16 +01:00
Stefano Avallone
18e3958347
wifi: Add a default WifiAckManager
2021-01-20 12:27:16 +01:00
Stefano Avallone
8c65f56872
wifi: Add the WifiAckManager base class
2021-01-20 12:27:16 +01:00
Stefano Avallone
4d883466f4
wifi: Add a default WifiProtectionManager
2021-01-20 12:27:16 +01:00
Stefano Avallone
cde282e62a
wifi: Move methods from MacLow to WifiRemoteStationManager
2021-01-20 12:27:16 +01:00
Stefano Avallone
82a4dbd630
wifi: Add the WifiProtectionManager base class
2021-01-20 12:27:16 +01:00
Stefano Avallone
87b1e3195e
wifi: Add a new WifiTxParameters class
2021-01-20 12:27:16 +01:00
Stefano Avallone
2de357aac2
wifi: Add WifiTxVector::GetModulationClass for convenience
...
In case the TxVector is MU, we don't need to specify any STAID
because the modulation class is unique. Getting the modulation
class through the WifiMode requires to specify the STAID instead.
2021-01-20 12:27:16 +01:00
Stefano Avallone
2bcf750347
wifi: A queued WifiMacQueueItem stores an iterator to itself
...
This allows us to dequeue packets only when they are actually
transmitted. For instance, a packet protected by RTS is dequeued
only if the CTS is received. This saves us from reinserting the
packets in the queue if CTS is missed (think of A-MPDUs, multi-TID
A-MPDUs, MU PPDUs, ...)
2021-01-20 12:27:16 +01:00
Stefano Avallone
999b2ac02f
network: Queue::DoEnqueue can return an iterator pointing to the inserted item
2021-01-20 12:27:16 +01:00
Stefano Avallone
2eff9a30a9
wifi: Add a class hierarchy for acknowledgment methods
2021-01-20 12:27:16 +01:00
Stefano Avallone
f8ac6f61cf
wifi: Add a class hierarchy for protection methods
2021-01-20 12:27:16 +01:00
Stefano Avallone
ab5a1c53f6
wifi: Add the WifiTxTimer to handle TX timers
2021-01-20 12:27:16 +01:00
Tom Henderson
e74c32d529
Update Python unit tests (update API, add copyright)
2021-01-19 18:15:44 -08:00
Tom Henderson
0e07abb93c
wave: Add test coverage to vanet-routing-compare.cc
2021-01-19 15:24:49 -08:00
Tom Henderson
726199c94e
wave: Fix compilation and runtime issues with vanet-routing-compare.cc
2021-01-19 13:38:49 -08:00
Tom Henderson
720280610d
Update links in documentation menubar
2021-01-18 08:23:27 -08:00
Federico Guerra
c5726cd063
uan: ( fixes #293 ) fixed integer truncation in window computation
2021-01-18 08:23:23 -08:00
Alexander Krotov
fe561a82ca
wifi: fix iterator invalidation in WifiMacQueue::Insert
...
If pos == begin(), it may be invalidated before inserting if DROP_OLDEST
policy is used and queue is full.
Add fix for this case and a test for it.
2021-01-18 18:53:27 +03:00
Tom Henderson
3d72079550
sixlowpan: Rescan APIs for Python bindings
2021-01-17 11:43:52 -08:00
Tom Henderson
7d3d471473
Add missing forward declaration
2021-01-17 11:42:50 -08:00
Tommaso Pecorella
217b28e6aa
sixlowpan: add context-based (stateful) IPHC compression
2021-01-17 16:54:52 +00:00