Stefano Avallone
e55628fc38
wifi: Limit the delay among TB PPDUs to the duration of training fields
2022-06-23 12:05:26 +02:00
Sebastien Deronne
71760590d9
wifi: Add test for OBSS reception between the end of two HE TB PPDUs being received by the PHY
2022-06-23 12:05:26 +02:00
Sebastien Deronne
f97d297bb2
wifi: Extend UL OFDMA PHY tests to verify RX start and RX end notifications
2022-06-23 12:05:26 +02:00
Stefano Avallone
18f8b488d3
wifi: Correctly compute the time to RX end to be passed to WifiPhyStateHelper::SwitchToRx()
2022-06-23 12:05:26 +02:00
Sebastien Deronne
c423249242
wifi: Notify RX end only for the last received HE TB PPDU
2022-06-23 12:05:26 +02:00
Sebastien Deronne
55a1578633
wifi: Split processing of a received PSDU from RX end notifications
2022-06-23 12:05:26 +02:00
Sebastien Deronne
5855aefa17
wifi: Handle RX end notifications to WifiPhyStateHelper in seperate functions
2022-06-23 12:05:26 +02:00
Sebastien Deronne
719011058b
wifi: Use more const references in WifiPhyStateHelper
2022-06-23 12:05:26 +02:00
Stefano Avallone
c5f1e6e067
wifi: WifiMac can create multiple FrameExchangeManagers and ChannelAccessManagers
2022-06-22 10:02:41 +02:00
Stefano Avallone
cf0b4ee0a8
wifi: Move creation of ChannelAccessManager to WifiMac::ConfigureStandard()
...
11be MLDs require as many ChannelAccessManager objects as the number of
links (PHY objects).
2022-06-22 10:02:41 +02:00
Stefano Avallone
d916f75ea4
wifi: MAC configuration requires the PHY to be setup
...
This should be expected because some MAC parameters depend on PHY.
Also, for 11be multi-link devices, the number of FEMs to create
depend on the number of PHY objects.
2022-06-22 10:02:41 +02:00
Stefano Avallone
4e1524855e
wifi: QosTxop does not need to store a pointer to FEM
2022-06-22 10:02:41 +02:00
Stefano Avallone
b6df4a182f
wifi: WifiNetDevice can keep multiple PHY objects
2022-06-22 10:02:41 +02:00
Stefano Avallone
b20937bd1c
wifi: Add a constant for link ID in single link operations
...
Helps identify places where correct link ID needs to be
specified to support multi-link operations
2022-06-22 10:02:41 +02:00
Stefano Avallone
d385efd8c7
wifi: MU schedulers compute the correct size of BSRP TF responses
2022-06-22 08:46:23 +02:00
Stefano Avallone
bf683d587d
wifi: Include QoS Null in BSRP TF response if BA agreement is established
2022-06-22 08:46:23 +02:00
Stefano Avallone
b627396ee5
wifi: HE FEM can receive TB PPDUs containing a single QoS Null
2022-06-22 08:46:23 +02:00
Alberto Gallegos Ramonet
0eaca37e23
lr-wpan: Adds MAC ED scan support
2022-06-20 01:25:26 +00:00
Gabriel Ferreira
89d992af47
build: cmake-format
2022-06-18 17:57:06 -03:00
Gabriel Ferreira
60e1e4032c
fixing dead links
2022-06-18 17:57:05 -03:00
Tom Henderson
dff0b609f6
wifi: Fix valgrind issue in ChannelAccessManager test
2022-06-18 08:21:00 -07:00
Tommaso Pecorella
ab0bef5e24
propagation: Fix valgrind error in JakesPropagationLossModel
2022-06-17 22:53:45 -05:00
Sebastien Deronne
ffb2d15399
wifi: Fix assert hit if channel switch delay is set to zero
2022-06-16 15:37:53 +02:00
Sebastien Deronne
e474944d82
wifi: Add lower bound check on channel switch delay attribute
2022-06-16 15:37:47 +02:00
Sebastien Deronne
1c2f4420ec
wifi: Fix number of TX and RX spatial streams in WifiPhy init list
2022-06-16 15:37:40 +02:00
Stefano Avallone
82d3731a02
wifi: Extend ChannelAccessManager test
...
...to check that CCA_BUSY on secondary channels does not impact
channel access procedures.
2022-06-15 09:25:51 +00:00
Stefano Avallone
c9323a180f
wifi: Add test for ChannelAccessManager::GetLargestIdlePrimaryChannel()
2022-06-15 09:25:51 +00:00
Stefano Avallone
6f34d6e0d6
wifi: Remove useless ChannelAccessManager::MostRecent()
2022-06-15 09:25:51 +00:00
Stefano Avallone
ac99256d50
wifi: Add a ChannelAccessManager method to compute the largest available primary channel
2022-06-15 09:25:51 +00:00
Stefano Avallone
3e4b673d1f
wifi: ChannelAccessManager tracks start and end time of last idle period
2022-06-15 09:25:51 +00:00
Stefano Avallone
5845dbf84a
wifi: ChannelAccessManager keeps per-20 MHz channel CCA Busy state
2022-06-15 09:25:51 +00:00
Stefano Avallone
2189585889
wifi: Simplify ChannelAccessManager member variables
2022-06-15 09:25:51 +00:00
Stefano Avallone
983dbc2254
wifi: Add methods to check the type of the operating channel
2022-06-15 09:25:51 +00:00
Stefano Avallone
258920c0d6
wifi: Get all the 20 MHz channel indices in a given primary or secondary channel
2022-06-15 09:25:51 +00:00
Sebastien Deronne
d7c4c676f5
wifi: Pass CCA busy durations per 20 MHz subchannel to WifiPhyListener::NotifyCcaBusyStart
2022-06-15 09:25:51 +00:00
Sebastien Deronne
c1dfb42dcf
wifi: Pass channel type to WifiPhyListener::NotifyCcaBusyStart
2022-06-15 09:25:51 +00:00
Sebastien Deronne
dc6c5c36ec
wifi: Define WifiChannelListType
2022-06-15 09:25:51 +00:00
Sebastien Deronne
5a8d849f89
wifi: Rename NotifyMaybeCcaBusyStart to NotifyCcaBusyStart
2022-06-15 09:25:51 +00:00
Stefano Avallone
bdfb10a108
wifi: There is one WifiPhy::SetOperatingChannel() method now
2022-06-14 11:10:13 +02:00
Alberto Gallegos
1eabe61b56
lrwpan: Fixes PHY not going to TRX_OFF after CSMA-CA failure (RxOnWhenIdel(false))
2022-06-13 13:14:48 +09:00
Stefano Avallone
ccbbed037f
Update documentation
2022-06-09 14:51:58 +00:00
Stefano Avallone
f8c2613e47
wifi: RR MultiUserScheduler tries UL MU if queues are empty when invoked
2022-06-09 14:51:58 +00:00
Stefano Avallone
9f0dbc8ba1
wifi: MultiUserScheduler can request channel access periodically
...
This allows an HE AP to coordinate UL MU transmissions even without
DL traffic.
2022-06-09 14:51:58 +00:00
Stefano Avallone
1bc7766228
wifi: Add a WifiMac method to return the ChannelAccessManager
2022-06-09 14:51:58 +00:00
Stefano Avallone
b351edb9b7
wifi: Compute UL MU info independently of previous DL MU transmission
2022-06-09 14:51:58 +00:00
Stefano Avallone
f6e1f84e50
wifi: Increase modularization of RrMultiUserScheduler
2022-06-09 14:51:58 +00:00
Stefano Avallone
693517ce0f
network: Queue container can hold elements of type different than queue items
...
It is required that the container defines a public method that transforms
an iterator pointing to a container element into the corresponding queue item.
2022-06-08 15:31:44 +02:00
Stefano Avallone
7c73228e78
network: Remove begin() and end() from Queue class
...
begin() and end() are not necessarily meaningful for all the containers.
A GetContainer() method returning a const reference to the container is
added, so that begin() and end() can be called through it.
2022-06-08 15:31:44 +02:00
Stefano Avallone
e5805a53fb
network: Queue uses a generic type of container to store items internally
2022-06-08 15:31:44 +02:00
Stefano Avallone
70ea7891fc
core: Get the full type name for template classes
...
Also add a macro for class templates with two template parameters.
2022-06-08 15:31:44 +02:00