Commit Graph

12047 Commits

Author SHA1 Message Date
Tom Henderson
bc42db8608 fix typo 2016-03-15 10:22:25 -07:00
Stefano Avallone
5aef189abb network: Update queue documentation 2016-03-15 10:21:49 -07:00
Matias Richart
d35a77d95a wifi: Add MIMO support in minstrel-ht
Two other changes included:  1) model was not setting the calculated rate
in GetRtsTxVector, and 2) change behavior so that by default (when VHT is
supported) use only VHT rates
2016-03-14 21:56:49 -07:00
Matias Richart
0b224fbdba wifi: Set same capabilities in transmitter and receiver 2016-03-14 16:02:45 -07:00
Stefano Avallone
6c2841607b traffic-control: Update documentation 2016-03-14 15:58:26 -07:00
Tommaso Pecorella
b4fe088aca uan: (fixes #1631) fix Acoustic Modem drawn energy calculation. 2016-03-14 19:28:26 +01:00
Tom Henderson
27d5c24e81 netanim: Update release version 2016-03-14 06:41:52 -07:00
Matias Richart
ca9fc74c02 wifi: 802.11-5MHz fixed in Ideal and MinstrelHt examples 2016-03-13 14:37:04 +01:00
Tom Henderson
1f5c42c0c8 update CHANGES.html 2016-03-12 17:37:12 -08:00
Tom Henderson
9941e75c5e update RELEASE_NOTES 2016-03-12 17:37:01 -08:00
Tom Henderson
6dbc04fe3d update AUTHORS list 2016-03-12 17:36:52 -08:00
Tom Henderson
d7908a8c7d wifi: Rescan bindings 2016-03-12 17:29:03 -08:00
Matias Richart
da54adb177 wifi: Check VhtMcs supported in sample 2016-03-12 14:49:49 -08:00
Tom Henderson
e9dbae3a70 openflow: Remove declaration of private inline library function
This change is needed to link openflow library using g++-5.
2016-03-12 14:43:37 -08:00
Stefano Avallone
433e4ff000 point-to-point: Cannot assume that a NetDeviceQueueInterface is aggregated 2016-03-12 14:35:12 -08:00
Sébastien Deronne
7809703288 wifi: slightly refactor MinstrelHt example 2016-03-12 13:03:11 +01:00
Sébastien Deronne
47a1dff33d wifi: add support for short GI in ideal-wifi-manager-example 2016-03-12 13:02:29 +01:00
Tom Henderson
cb4a27dc11 internet: Update ns3-tcp-interoperability test response vector
Update for new TCP implementation (timestamps are different).
2016-03-11 21:06:15 -08:00
Tom Henderson
c86c0fee13 internet: Update ns3-tcp-cwnd test response vectors
Update for traffic-control changes, and new TCP implementation.
2016-03-11 19:17:53 -08:00
Tommaso Pecorella
a93f7c3611 wave: (fixes #2331) wrong mobility model in vanet-routing-compare example 2016-03-11 21:28:43 +01:00
Tommaso Pecorella
5d43515ff5 olsr: enforce correct code indentation 2016-03-11 21:21:36 +01:00
Tommaso Pecorella
c7af99892b olsr: add missing doxygen 2016-03-11 21:21:11 +01:00
Tommaso Pecorella
fb767051a5 wifi: fix Doxygen missing params 2016-03-11 20:58:44 +01:00
Tommaso Pecorella
3b70174980 manual: (fixes #1286) NS_LOG clarification 2016-03-11 21:16:26 +01:00
Cristiano Tapparello
17c80dc005 energy: Fixes for negative remaining energy and bug 2310 2016-03-11 15:04:49 -05:00
Tom Henderson
f572e80879 wifi: Avoid multiple definition of constants 2016-03-11 08:57:18 -08:00
Stefano Avallone
f806b916ec internet: Cannot assume that traffic control layer is aggregated 2016-03-11 07:16:59 -08:00
Tom Henderson
bebead08b9 internet: Cannot assume that traffic control layer is aggregated.
Click routing support makes use of the Ipv4AddressHelper but
nodes using click routing do not support traffic control at this time.
2016-03-10 16:59:27 -08:00
Chip Webb
ed30b42b1f internet: Add global routing bridged topology example 2016-03-10 16:07:51 -08:00
Chip Webb
f41463736f internet: (fixes #2102) Make global routing robust to bridged links 2016-03-10 16:06:22 -08:00
Tom Henderson
db1faf66fe wifi: Align MinstrelHt API with changeset b1aec364f2c7 2016-03-10 14:16:31 -08:00
Matías Richart
58360f8251 wifi: Adapt rate-adaptation-distance.cc example for MinstrelHt 2016-03-10 13:17:17 -08:00
Matías Richart
9aea79978b wifi: Add MinstrelHtWifiManager example program 2016-03-10 13:14:26 -08:00
Matías Richart
e3e20c7390 wifi: Add MinstrelHt rate control (based on patch originated by Ghada Badawy)
Minstrel-HT is a rate adaptation mechanism for 802.11n/ac standard based on
Minstrel [1].
The Minstrel-HT current design is based on the Linux implementation [2].
The Linux implementation is due to Felix Fietkau, first introduced in 2010 [3].

Minstrel-HT is designed for high-latency devices that implement a Multiple
Rate Retry (MRR) chain. This kind of device does not give feedback for every
frame retransmission, but just when a frame was correctly transmitted
(an ACK is received) or a frame transmission completely fails
(all retransmission attempts fail).

[1] https://wireless.wiki.kernel.org/en/developers/documentation/mac80211/ratecontrol/minstrel
[2] https://github.com/torvalds/linux/blob/master/net/mac80211/rc80211_minstrel_ht.c
[3] http://thread.gmane.org/gmane.linux.kernel.wireless.general/47372
2016-03-10 12:31:05 -08:00
Matías Richart
2b072c8d5f wifi: (partial fix #1797) Align legacy Minstrel with Linux and minstrel_ht
The changes in Minstrel are inteded to follow more accurately the Linux
implementation.

For each rate, a new parameter samplesSkipped is added. This parameter is
intended to solve an issue regarding the sampling of low rates when a high
rate is working well, which leads to outdated statistics.
See [1] for further explanation.

This change makes throughput a bit lower in simple, stable scenarios. However,
it may help in dynamic scenarios to react faster and more accurately to
changes.

Related to the previous, the logic is changed for deciding when to sample
random rates. When a sample rate is deferred to the second MRR chain stage,
a new parameter (numSamplesDeferred) is increased. This parameter is used
(jointly with sampleCount) to compare current sample count with the
lookaround rate.

Also related with sampling, another parameter is added, sampleLimit.
This parameter limits the number of times a very low or very high
probability rate is sampled, avoiding to try a poorly working sample rate
too often.

When updating the EWMA probability of a rate for the first time, do not
apply EWMA but assign the entire probability.  As EWMA probability is
initialized with zero, this generates a more accurate EWMA.

[1] http://thread.gmane.org/gmane.linux.kernel.wireless.general/104920/focus=104923
2016-03-10 12:01:42 -08:00
Tom Henderson
b0b15b247d wifi: Rescan bindings 2016-03-09 23:25:30 -08:00
Tom Henderson
0cad12a66b add IdealWifiManager example program 2016-03-09 23:18:12 -08:00
Tom Henderson
e86ab2c1bb wifi: update regression test for IdealWifiManager changes 2016-03-09 23:01:40 -08:00
Tom Henderson
2abd888157 wifi (partial fix #1797) Update IdealWifiManager for HT/VHT 2016-03-09 22:58:13 -08:00
Tom Henderson
4c553b83d1 wifi: (partial fix #1797) Carry SnrTag info back to IdealWifiManager 2016-03-09 22:02:00 -08:00
Sébastien Deronne
5bcabeba26 wifi: rescan bindings 2016-03-10 00:11:43 +01:00
Matías Richart
caa040b30b wifi: update commit d600a963e02e with the latest patch version 2016-03-09 23:18:51 +01:00
Sébastien Deronne
0f97efa28d wifi: rescan bindings 2016-03-09 22:06:17 +01:00
Sébastien Deronne
df81efb5f0 wifi: (fixes #2332) fix buggy behaviour since commit 96b721d35158 2016-03-09 21:44:36 +01:00
Sébastien Deronne
3c49b133f8 wifi: (re-fixes #2313) fix issue when a BlockAckRequest is sent while the maximum number of RTS retries has been reached 2016-03-09 20:51:53 +01:00
Tom Henderson
93c8cf039e wifi: (fixes #2328) post-install configuration of the number of Tx antennas 2016-03-06 09:14:09 -08:00
Matías Richart
5bbb3d6001 wifi: (fixes #2317) Add method to convert a HT MCS to a non-HT rate 2016-03-09 20:41:21 +01:00
Matías Richart
901c249f78 wifi: (fixes #2320) Add method to check whether a WifiTxVector contains a valid combination of WifiMode, number of spatial streams and channel width 2016-03-09 20:37:26 +01:00
Sébastien Deronne
58c4f13f59 wifi: (fixes #2327) CWmin value selection based on 802.11g standard rules 2016-03-09 20:32:05 +01:00
Sébastien Deronne
f2cdfb1144 wifi: (fixes #2319) increase BlockAckTimeout for 802.11n 2.4 Ghz 2016-03-09 20:02:06 +01:00