Commit Graph

82 Commits

Author SHA1 Message Date
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
Stefano Avallone
45f0663d11 wifi: Cleanup more unused methods 2020-07-06 15:54:38 +02:00
Stefano Avallone
fa9429046e wifi: SIFS and slot duration are only stored by the PHY 2020-07-06 15:51:17 +02:00
Stefano Avallone
3818676b27 wifi: Avoid copying packets unnecessarily
Ensures that the packets forwarded up at the receiver side are the
same as those received from the upper layer at the transmitter side.
2020-03-26 16:02:42 +01:00
Stefano Avallone
de2f4d08c9 wifi: Receive WifiMacQueueItems instead of separate header and payload
which means that original MSDUs (i.e., packets) are preserved in case of
A-MSDU aggregation.
2020-03-26 16:02:42 +01:00
Stefano Avallone
5c197ca1e2 wifi: Keep the timestamp when passing MPDUs to MacLow 2019-05-11 18:47:14 +02:00
Stefano Avallone
72739ad288 wifi: MacLow makes more use of WifiMacQueueItem 2019-05-11 18:47:14 +02:00
Stefano Avallone
af441e7b69 wave, wifi: Rescan python bindings 2019-04-12 19:08:38 +02:00
Rediet
4108522341 wifi: Clean up WIFI_PREAMBLE_NONE
Done by having more detailed MpduType enum
2019-04-11 11:27:58 +02:00
Stefano Avallone
05b04146a3 wave, wifi: Rescan python bindings 2019-04-05 14:07:57 +02:00
Sébastien Deronne
289057719f wifi: Add configuration objects for 802.11n/ac/ax 2018-10-30 13:42:31 +01:00
Peter D. Barnes, Jr.
dff56925e5 core: time: replace int64_t operator/(Time,Time) with exact int64x64_t version,
add int64x64_t scaling.
2018-10-19 00:03:07 -04:00
Getachew Redieteab
6afd76fc8d wifi: (fixes #2941): Correct Order bit of Frame control field in WifiMacHeader 2018-07-11 11:33:19 +02:00
Alexander Krotov
8d1b7b1391 Spellcheck the rest of ns-3 2018-06-28 12:51:39 +03:00
Sébastien Deronne
29ea252284 wifi: Add support for 802.11 PCF 2018-05-21 15:06:50 +02:00
Sébastien Deronne
305c120ea1 wave: Cleanup wifi header inclusions 2018-05-10 22:34:47 +02:00
Sébastien Deronne
53eb13fdd4 wifi: Use forward declaration as often as possible (part 10) 2018-04-13 20:47:22 +02:00