Commit Graph

98 Commits

Author SHA1 Message Date
Eduardo Almeida
85ade4e18d Fix Doxygen comment formatting and typos 2022-10-16 14:49:21 +01:00
Eduardo Almeida
dfc6fb9d2d Remove emacs comment from C++ files 2022-10-14 14:13:12 +00:00
Eduardo Almeida
e25ff966fe Apply clang-format to codebase 2022-10-07 20:08:35 +00:00
Eduardo Almeida
4af0fe4b85 Fix clang-tidy modernize-use-nullptr warnings 2022-10-07 11:48:10 +00:00
Eduardo Almeida
be07b6487a Fix clang-tidy modernize-use-override warnings 2022-10-07 11:48:10 +00:00
Eduardo Almeida
6bb6383562 Fix clang-tidy modernize-redundant-void-arg warnings 2022-10-07 11:48:10 +00:00
Eduardo Almeida
4c318dde52 Fix missing includes 2022-10-06 20:41:07 +00:00
Stefano Avallone
ce590ad057 wifi: WifiMac can receive pointers to const WifiMpdu 2022-09-25 14:17:15 +00:00
Stefano Avallone
d239dacb9b wifi: Add linkId parameter to GetVhtSupported()
VHT is only supported on links operating on a band other than 2.4 GHz.
2022-09-23 07:45:40 +00:00
Stefano Avallone
72d5720f60 wifi: Add link ID parameter to more WifiMac methods 2022-09-23 07:45:40 +00:00
Stefano Avallone
800b30728e wifi: Rename WifiMacQueueItem as WifiMpdu 2022-09-11 13:03:30 +00:00
Stefano Avallone
a1544e42c6 wifi: Only peek frames to be transmitted on a specific link 2022-09-11 13:03:30 +00:00
Stefano Avallone
9adce5f17f wifi: Remove method to get non-const pointer from const pointer to WifiMacQueueItem 2022-09-11 13:03:30 +00:00
Stefano Avallone
8a44424bb7 wifi: Handle distinct per-link BSSIDs
Also, BSSID is now stored by the FEM instead of the MAC.
This is because the link MAC address (which matches the
BSSID for APs) is notified directly to and stored by the FEM.
2022-09-03 09:06:07 +00:00
Tommaso Pecorella
c04254fc75 core: (fixes #705) prevents GCC 12 warnings 2022-08-18 17:53:33 +00:00
Peter D. Barnes, Jr
e461e54d5a Update Ptr validity checks to new Ptr<>::operator bool 2022-08-18 08:59:30 -07:00
Stefano Avallone
49d710fabe wifi: Pass allowed TX width to GetDataTxVector() 2022-08-17 16:47:27 +00:00
Stefano Avallone
b05b54b041 wifi: ChannelAccessManager passes the allowed width for TX to FrameExchangeManager 2022-08-17 16:47:27 +00:00
Stefano Avallone
e66d0f46e1 wifi: Add a method to get the Link ID from the MAC address 2022-08-04 22:09:38 +02:00
Stefano Avallone
29749c21b0 wifi: Pass link ID to WifiMac::Receive() 2022-08-04 22:09:38 +02:00
Stefano Avallone
4d61d67a7d wifi: Txop holds per-link channel access status 2022-07-11 15:29:36 +00:00
Stefano Avallone
262918d22c wifi: Txop holds per-link contention window information 2022-07-11 15:29:36 +00:00
Stefano Avallone
18eb7e47a0 wifi: Txop holds per-link backoff information 2022-07-11 15:29:36 +00:00
Stefano Avallone
9e7796616a wifi: Txop can get a pointer to ChannelAccessManager from WifiMac 2022-07-11 15:29:36 +00: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
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
5a8d849f89 wifi: Rename NotifyMaybeCcaBusyStart to NotifyCcaBusyStart 2022-06-15 09:25:51 +00:00
Tom Henderson
b6a5ee8151 Run utils/trim-trailing-whitespace.py on codebase 2022-06-05 21:01:11 -07:00
Sébastien Deronne
3fec6c013d wifi: merge RegularWifiMac and WifiMac 2022-01-09 17:14:04 +01:00
Stefano Avallone
5d7acdcf19 wifi: QosTxop skips frames that cannot be forwarded to the destination 2022-01-08 19:23:12 +01:00
Stefano Avallone
52d84a6346 wifi: MAC is notified of channel switching and takes appropriate actions
NOTE 1: the purpose of calling the PHY capabilities changed callback in
WifiPhy::DoChannelSwitch was to have a station sending a Reassociation
Request after changing the channel width. However, changing channel width
implies a channel switching. Therefore, the station requires to associate
again and hence it is useless to invoke such callback.

NOTE 2: MAC queues were flushed upon channel switching. This is now removed
because station and AP may move to the same channel; hence, why dropping all
pending frames? Also, in case of (future) 11be multi-link devices, a channel
switching on a single link does not prevent to continue using the other links.
2022-01-08 19:23:12 +01:00
Stefano Avallone
bd7ebdd4cf wifi: Switch to the new PHY methods to set the operating channel 2021-12-07 09:45:04 +01:00
Stefano Avallone
882a746500 wifi: Replace iterators with pointers to queued items in public APIs 2021-10-19 20:10:22 +02:00
Stefano Avallone
c35945ebf2 wifi: Install (Qos)Txop objects appropriately 2021-10-13 17:40:31 +02:00
Stefano Avallone
62542e5fb9 wifi: WifiMacQueueItem does not keep a pointer to the queue it is stored into
Instead, it keeps the AC index associated with the queue it is stored into
2021-09-26 17:06:27 +00:00
Stefano Avallone
39947f3cac wifi: Propagate AC index down to WifiMacQueue through Txop 2021-09-26 17:06:27 +00:00
Stefano Avallone
6bce3d9916 wifi: Replace aggregated MSDUs with the A-MSDU upon aggregation
So far, when A-MSDU aggregation is performed, MPDUs containing the
constituent MSDUs are kept in the queue until the MPDU containing
the A-MSDU (which is kept out of the queue) is transmitted.
Now, as soon as A-MSDU aggregation is performed, MPDUs containing
the constituent MSDUs are dequeued and the MPDU containing the
A-MSDU is enqueued in their place.
2021-09-26 17:06:27 +00:00
Tommaso Pecorella
fa87c21c83 wave: doxygen fixes 2021-05-27 22:50:54 +00:00
Rediet
fa91aa4bff wifi: Rename wifi-preamble.h as wifi-phy-common.h
Holds all enums which might be updated upon the addition of a new PHY standard (as suggested by Sebastien)
Also cleaned up obsolete modulation classes
2021-02-15 08:39:27 +01:00
Tom Henderson
83abb82f0e wave: (fixes #341) Resolve reference cycles 2021-01-25 10:45:50 -08:00
Stefano Avallone
0e7366d744 wave: Replace WaveMacLow with WaveFrameExchangeManager 2021-01-24 16:02:37 +01:00
Jordan Dorham
b3bdd14ad5 wave: Time arithmetic and logging changes
With contributions from Kim Ferrari and Anna Poon.
2020-11-29 08:11:05 -08:00
Rediet
5c8a661809 wifi, wave: Extend WifiTxVector for HE MU 2020-10-26 21:54:15 +01:00
Sebastien Deronne
bd1ad3994a wifi: Decouple standard and frequency band 2020-09-03 18:43:43 +00:00
Sebastien Deronne
4e72e64f43 wifi, wave: Remove 5 MHz and 10 MHz standard and introduce 802.11p standard instead 2020-09-03 18:43:43 +00:00