Commit Graph

15902 Commits

Author SHA1 Message Date
Stefano Avallone
cf8ef91a29 wifi: Do not check lifetime expiration when dequeuing frames
Frames are dequeued when they have been acknowledged, dropped
or are going to be replaced by other frames. In all such cases,
it is not needed to check for lifetime expiration. This check instead
causes troubles when the lifetime of a frame expires while receiving
the acknowledgment (a BAR may be scheduled unnecessarily).
2021-10-20 12:13:50 +02:00
Stefano Avallone
3ad1dde7a1 wifi: Make WifiMacQueue::Insert private
Also, reduce the usage of WifiMacQueue::PushFront. The goal is to
only allow enqueuing packets at the end of the wifi MAC queue, in
view of the introduction of a wifi MAC queue scheduler.
2021-10-19 20:10:25 +02:00
Stefano Avallone
dae6bbca5b wifi: Iterators to queued items are not exposed by WifiMacQueueItem 2021-10-19 20:10:25 +02:00
Stefano Avallone
b8bc106706 wifi: Remove unused global empty wifi MAC queue 2021-10-19 20:10:25 +02: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
cf2ccdc041 wifi: Add WifiMacQueue methods to manipulate queued items
Also, remove unused Remove overload.
2021-10-19 20:07:27 +02:00
Stefano Avallone
fea3bf208c Update CHANGES.html 2021-10-19 18:53:34 +02:00
Stefano Avallone
c35945ebf2 wifi: Install (Qos)Txop objects appropriately 2021-10-13 17:40:31 +02:00
Stefano Avallone
8e1c5525ab wifi: RegularWifiMac::QosSupported attribute must be properly set
We don't override it later (when setting the standard) anymore
2021-10-13 16:07:56 +02:00
Ameya Deshpande
f25866e922 nix-vector-routing: (fixes #466) Handle loopback IPv4/6 addresses
- Add the condition for handling loopback addresses in `RouteOutput ()`.
- Add about this change in "Scope and Limitations" of Nix documentation.

Signed-off-by: Ameya Deshpande <ameyanrd@outlook.com>
2021-10-12 15:13:13 +00:00
Stefano Avallone
dcf022ad8b wifi: (fixes #468) Compute correct size of MU-BAR Trigger Frames 2021-10-12 09:56:50 +02:00
Stefano Avallone
dba8375e18 wifi: (fixes #467) AP only records association failed when AssocResp is discarded 2021-10-11 17:44:53 +02:00
Ameya Deshpande
1f894ae7eb nix-vector-routing: Remove the unused BuildNixVectorLocal () function
This commit removes the dead function `BuildNixVectorLocal ()`.
This issue is discussed in #466.

Signed-off-by: Ameya Deshpande <ameyanrd@outlook.com>
2021-10-11 09:32:02 +00:00
Tommaso Pecorella
b7ddd9d3f5 internet: Align RIPng and RIP implementations 2021-10-10 00:54:21 +02:00
Tommaso Pecorella
db1fa07947 internet: Fix RIPng address selection for intermediate nodes 2021-10-10 00:09:49 +02:00
Tommaso Pecorella
ed8d74879a internet: Fix src address selection for localhost 2021-10-10 00:09:00 +02:00
Tommaso Pecorella
24f73cc470 internet: fix icmpv6 test 2021-10-06 23:04:57 +00:00
Stefano Avallone
96fdc81c68 wifi: Mark an MPDU as acknowledged before removing it from the in-flight queue
This avoids a crash in the event that an MPDU sent in an S-MPDU under
a Block Ack agreement is acknowledged after its lifetime expired.
2021-10-06 17:16:22 +02:00
Sébastien Deronne
a34c01091c wifi: Fix includes in YansErrorRateModel 2021-10-04 21:43:02 +02:00
Tom Henderson
d64ef57466 Update release files to start next release 2021-10-01 13:01:32 -07:00
Tom Henderson
168c6a1c41 Merge ns-3.35-release branch 2021-10-01 12:55:30 -07:00
Tom Henderson
ac88b75eac Update availability in RELEASE_NOTES 2021-10-01 12:51:59 -07:00
Tom Henderson
687a2745f5 Update VERSION and documentation tags for ns-3.34 release 2021-10-01 12:51:14 -07:00
Tom Henderson
fdba90a9bd documentation: Update ns-3 version in tutorial examples 2021-10-01 12:41:22 -07:00
Tom Henderson
44cd4d9750 Small correction to RELEASE_NOTES 2021-10-01 12:41:22 -07:00
Tom Henderson
d14aada5a0 Update AUTHORS and RELEASE_NOTES 2021-09-29 17:01:56 -07:00
Aditya Chirania
b5dee14b24 tcp: Update ns3-tcp-loss test artifacts for previous commit 2021-09-29 14:09:01 -07:00
Gauri Prasad
235732f6af tcp: (fixes #410) Fix TCP Westwood bandwidth estimation bug 2021-09-29 14:06:47 -07:00
Bhaskar Kataria
9844819d88 traffic-control: (from !706) Fix FqPIE qdisc not using attributes 2021-09-29 13:58:29 -07:00
Tom Henderson
d56a3db06a Update AUTHORS, CHANGES.html, and RELEASE_NOTES 2021-09-27 19:26:12 -07:00
Tom Henderson
28886a3a25 traffic-control: (fixes #258) Avoid overflow, divide-by-zero in TbfQueueDisc
Thanks to Tianfan Zhang for finding the bug and starting a patch to fix.
2021-09-27 14:35:16 -07:00
Tom Henderson
4e9afa965d bindings: Rescan all APIs 2021-09-27 11:18:37 -07:00
Sébastien Deronne
017a08c44f wifi: Cleanup some remaining references to MacLow 2021-09-26 21:42:24 +00:00
Gabriel Ferreira
5c13e6014e wifi: remove unnecessary GetSifs calls 2021-09-26 20:46:44 +00:00
Sébastien Deronne
946472f0ca wifi: Add support for 4096-QAM in YansErrorRateModel 2021-09-26 17:26:09 +00:00
Sébastien Deronne
924860e9e3 wifi: Some more PHY rework to support amendments beyond 802.11ax 2021-09-26 17:26:09 +00: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
97c888cd55 wifi: Add a RegularWifiMac method to return a specified MAC queue 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
c0b2eb808f Update RELEASE_NOTES and CHANGES.html 2021-09-26 17:06:27 +00:00
Stefano Avallone
382a2aa3f6 wifi: Trace dropped QoS old packets 2021-09-26 17:06:27 +00:00
Stefano Avallone
d9c1111ef1 wifi: Cleanup unused code 2021-09-26 17:06:27 +00:00
Stefano Avallone
8b354fe29c wifi: Keep MPDUs in the queue until acknowledged (with BA agreement) 2021-09-26 17:06:27 +00:00
Stefano Avallone
d04a17af6f wifi: Make WifiMacQueue::TtlExceeded public
so that other components can easily remove MPDUs with expired
lifetime and fire the Expired trace source.
2021-09-26 17:06:27 +00:00
Stefano Avallone
1259d04200 wifi: Add in-flight attribute to MPDUs 2021-09-26 17:06:27 +00:00
Stefano Avallone
da4c36ef9a wifi: Keep MPDUs in the queue until acknowledged (if no BA agreement) 2021-09-26 17:06:27 +00:00
Stefano Avallone
edcd9a6909 wifi: Cleanup WifiMacQueue
1. MPDUs with expired lifetime are already discarded:
   - when a QosTxop releases/requests the channel
   - when we check if there are pending BlockAckReq frames
   hence, it is useless (and sometimes troublesome) to check
   for MPDUs with expired lifetime at every packet dequeue
2. Dequeue{ByTid, ByAddress, ...} were not used and hence
   removed (one can use a Peek* method and then Dequeue())
3. Given that a WifiMacQueueItem stores an iterator, add a
   Dequeue method (the only one in addition to the default one)
   that receives a WifiMacQueueItem and dequeues it in constant time
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
Alexander Krotov
d8fe6bac00 core: (merges !623) Print available values on EnumChecker::GetValue () error 2021-09-25 12:42:23 -07:00
Philip Hönnecke
52fa7235b2 energy: (fixes #423) SimpleDeviceEnergyModel calculation of consumed energy 2021-09-25 12:28:58 -07:00