Commit Graph

15878 Commits

Author SHA1 Message Date
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
Ameya Deshpande
cab3d4b9f5 nix-vector-routing: Rescan the Python Bindings
Signed-off-by: Ameya Deshpande <ameyanrd@outlook.com>
2021-09-24 10:15:33 +00:00
Ameya Deshpande
3eb345b325 nix-vector-routing: Remove template specialization functions, use if constexpr instead
The specialized functions were kept for better code readability
and only had a few code differences (Otherwise the prior `RunIf`
would have worked but the code would have looked complex).

Using `if constexpr` makes code less redundant and easier to
read as the common code is grouped now.

Signed-off-by: Ameya Deshpande <ameyanrd@outlook.com>
2021-09-24 10:15:33 +00:00
Ameya Deshpande
9d74ef5a11 nix-vector-routing: Add check for remote link-local address in subnet-matching
Signed-off-by: Ameya Deshpande <ameyanrd@outlook.com>
2021-09-24 10:15:33 +00:00
Ameya Deshpande
9876391c6d nix-vector-routing: Use if constexpr () instead of RunIf
Since ns-3 supports C++17 constructs now, we can make use
of `if constexpr` as it evaluates the condition inside it
only for that instantiation (distinction happens at compile
time itself).

Signed-off-by: Ameya Deshpande <ameyanrd@outlook.com>
2021-09-24 10:15:33 +00:00
Ameya Deshpande
5f4063d133 nix-vector-routing: Add unorderd_map Ptr<NetDevice> to Ptr<IpInterface>
This change improves the performance of Nix in bigger topologies as
it uses the `unordered_map` which has better performance than
`GetObject<Ip> ()` as it reads through the list.

This `unordered_map` will be created along with `IpAddress` to `Ptr<Node>`
`unordered_map`. Since it is a static member, it will be only time over
all the `NixVectorRouting` instances.

Signed-off-by: Ameya Deshpande <ameyanrd@outlook.com>
2021-09-24 10:15:33 +00:00
Gabriel Ferreira
00d79868c1 lte: (merges !703) Fix global-buffer-overflow when nprb is equal to zero 2021-09-23 11:52:31 -07:00
Tom Henderson
ab476ddcde documentation: Add quick start section to ns-3 tutorial 2021-09-22 13:45:39 -07:00
Sébastien Deronne
ccf15ffa4a wifi: Fix typo 2021-09-22 19:21:29 +02:00
Tom Henderson
66314e991d buildings: Add script to animate the random walk 2021-09-18 13:53:38 -07:00
Tom Henderson
8620df1da7 applications: Allow InetSocketAddress types to be logged 2021-09-18 11:26:26 -07:00
Tom Henderson
d8ed317f2d network: Fix Doxygen error 2021-09-18 11:21:15 -07:00
Tom Henderson
2301cdfc09 buildings: Update documentation for group mobility changes 2021-09-18 11:19:51 -07:00
Tom Henderson
997f6969ac buildings: Instrument tests to run group mobility examples 2021-09-18 11:18:48 -07:00
Tom Henderson
8fcf79b3ae buildings: Add group mobility example and animation script 2021-09-18 11:18:48 -07:00
Tom Henderson
ccb37f7717 mobility: Update documentation for group mobility changes 2021-09-18 11:18:48 -07:00
Tom Henderson
0fc72ad7ad mobility: Instrument tests to run group mobility examples 2021-09-18 11:17:50 -07:00
Tom Henderson
571d8aab16 mobility: Update reference-point-group-mobility-example.cc for helper 2021-09-18 11:17:50 -07:00
Tom Henderson
736e5950fc mobility: Add GroupMobilityHelper class 2021-09-18 11:17:50 -07:00
Tom Henderson
4fb672de9f mobility: Add Reference Point Group Mobility (RPGM) example and script 2021-09-18 11:17:50 -07:00
Tom Henderson
2422b35238 mobility: Add logging and stream assignment to HierarchicalMobilityModel 2021-09-18 11:17:50 -07:00
Tom Henderson
a2cddc8da0 mobility: Expose child mobility model to parent position 2021-09-18 11:17:50 -07:00
Tom Henderson
4ca947a477 mobility: Initialize HierarchicalMobilityModel 2021-09-18 11:17:50 -07:00
Tom Henderson
53de766827 mobility: Fix Doxygen on MobilityHelper 2021-09-18 11:17:50 -07:00
Tom Henderson
9b3b23f4f0 mobility: Avoid course change stream corruption
For hierarchical mobility models, calling GetPosition () can trigger
another course change, causing it to be written into the course change
currently being written.  This can be avoided by calling GetPosition() first.
2021-09-18 11:17:50 -07:00