Commit Graph

255 Commits

Author SHA1 Message Date
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
Peter D. Barnes, Jr
d635a72cbc Use variadic argument lists in various Helpers.
QosWaveMacHelper::SetType() and NqosWaveMacHelper::SetType() were
virtual, but then they can't be templated to handle variadic
argument lists.  The base class is not virtual, and nothing derives from
these classes, so virtual doesn't seem to be required.
2022-09-04 12:01:11 -07: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
422f24bfd0 wifi: Extend helpers to support multi-link devices 2022-08-04 22:09:37 +02:00
Gabriel Ferreira
c5d0c8efb4 bindings: remove pybindgen bindings sources 2022-08-01 21:24:02 +00:00
Eduardo Almeida
c8ef71d00f build: update modules that depend on config-store 2022-07-19 00:31:02 -03: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
Gabriel Ferreira
60e1e4032c fixing dead links 2022-06-18 17:57:05 -03: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
Stefano Avallone
4be4ab41dd Rescan python bindings 2022-05-25 15:37:49 +02:00
Stefano Avallone
a387d0cd1e Rescan python bindings 2022-05-04 15:31:30 +02:00
Tom Henderson
a614114865 bindings: Rescan all APIs 2022-04-18 15:30:35 -07:00
Gabriel Ferreira
e32c177e45 build: remove waf files, tests and references 2022-02-21 22:08:45 -03:00
Tom Henderson
5367f1fed7 bindings: Rescan APIs of most modules 2022-02-16 15:59:27 -08:00
Gabriel Ferreira
41aacec626 build: CMake refactoring
Includes:
- refactor build_lib and build_lib_example macros
    - unify src and contrib macros
    - replace macro with function not to leak definitions
    - parse list of arguments
- different cmake-format file for modules to list one item per line
2022-01-28 10:20:18 -03:00
Gabriel Ferreira
33f2ee841b doc: update ns3 API 2022-01-19 16:25:03 -03:00
Tom Henderson
69d5a80687 wifi,wave,mesh,dsr: Update Python bindings 2022-01-09 15:22:40 -08: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
2a1d009116 wifi: Separate wifi standard and PHY band 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
Peter Barnes
0e685cbdbb Use [[maybe_unused]] attribute directly, instead of NS_UNUSED 2021-12-21 10:32:43 +00:00
Tom Henderson
aad79536bf bindings: Rescan all APIs 2021-12-18 16:41:52 -08:00
Stefano Avallone
bd7ebdd4cf wifi: Switch to the new PHY methods to set the operating channel 2021-12-07 09:45:04 +01:00
Gabriel Ferreira
a893eba7e3 build: Fix CMake and ns3 script bugs, add a test suite and fix formatting 2021-12-05 21:53:49 +00:00
Gabriel Ferreira
3c604d5b2e Update docs with CMake and ns3 wrapper 2021-12-01 12:29:56 -08:00
Gabriel Ferreira
9c876c7f5a CMake buildsystem 2021-12-01 12:29:55 -08:00
Tom Henderson
9c0d3e8556 wifi,wave,mesh: Rescan python bindings 2021-11-18 08:06:44 -08: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
Tom Henderson
4e9afa965d bindings: Rescan all APIs 2021-09-27 11:18:37 -07:00