Commit Graph

15599 Commits

Author SHA1 Message Date
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
Tommaso Pecorella
673004edae lr-wpan: (fixes #336) fix test crash 2021-01-17 03:28:31 +00:00
Tommaso Pecorella
314bc4f691 network: IPv6Address optimizations 2021-01-16 04:20:38 +00:00
Tommaso Pecorella
a436ba44e4 network: add IPv6 SLAAC from prefix 2021-01-15 23:01:38 +00:00
Tommaso Pecorella
a455a42713 build: remove warning suppression 2021-01-15 03:41:23 +00:00
Tom Henderson
1ca743ec98 netanim: Fix wscript dependency (on test) 2021-01-10 17:26:11 -08:00
Tom Henderson
4bad98fa07 Update release files to start next release 2021-01-09 10:39:57 -08:00
Tom Henderson
362c0c6b4b Merge ns-3.33-release branch 2021-01-09 10:28:25 -08:00
Tom Henderson
bc453bcb14 Update availability in RELEASE_NOTES 2021-01-09 10:24:27 -08:00
Tom Henderson
5243920ad7 Update VERSION and documentation tags for ns-3.33 release 2021-01-09 10:22:27 -08:00
Tom Henderson
90c0fd9456 mpi: Rescan APIs for Python bindings 2021-01-07 13:00:32 -08:00
Tommaso Pecorella
d1dd9eafca build: (amend b9ebfb426e) Fix inclusions
for non-standard build directory.
2021-01-07 01:48:52 +00:00
Tom Henderson
f613dcfc5c Update AUTHORS list 2021-01-04 10:36:14 -08:00
Tom Henderson
e12c34e610 Update CHANGES.html and RELEASE_NOTES 2021-01-04 10:36:01 -08:00
Tom Henderson
2dd6ad74b3 wifi: Update some missing log components 2021-01-04 10:22:21 -08:00
Stefano Avallone
a35003874f wifi: Remove unused WifiPhy::m_endOfMpduEvents 2021-01-02 15:15:05 -08:00
Stefano Avallone
47a0408a4a wifi: Avoid copying packet in MacRxMiddle 2021-01-02 15:15:05 -08:00
Tom Henderson
b827e604ae wifi: Silence some valgrind warnings 2021-01-02 15:13:38 -08:00
Tom Henderson
13b7a07c4c tcp: Further cleanup of tcp-validation.cc example 2021-01-02 15:11:49 -08:00
Tom Henderson
95ab2bef3a network: Initialize class members 2021-01-02 15:05:24 -08:00