Commit Graph

9540 Commits

Author SHA1 Message Date
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
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
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
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
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
Sébastien Deronne
dcd0439556 wifi: (fixes #2321) call wifi rate manager on a per A-MPDU basis 2016-03-09 19:57:46 +01:00
Sébastien Deronne
e6d4895bcf wifi: (fixes #2318) avoid simulation crashes when A-MPDU is used with TCP 2016-03-09 19:51:33 +01:00
Sébastien Deronne
1607dd43bd wifi: (fixes #2316) use single TXVECTOR for all MPDUs belonging to a same A-MPDU 2016-03-09 19:50:46 +01:00
Sébastien Deronne
2b20881ac8 wifi: remove unused variable in MacLow 2016-03-09 19:50:25 +01:00
Tommaso Pecorella
889ab088a3 traffic-control: Remove unused variable 2016-03-09 09:26:35 -08:00
Tommaso Pecorella
144d8622f4 test: Add missing module dependency 2016-03-09 09:23:56 -08:00
Tom Henderson
6191ea1e33 traffic-control: Remove unnecessary module header includes 2016-03-08 22:35:58 -08:00
Tom Henderson
1261e63e88 traffic-control: Relocate PfifoFast test suite due to dependency 2016-03-08 22:34:05 -08:00
Tom Henderson
5d99283c98 traffic-control: Relocate ARED test suite due to module dependencies 2016-03-08 22:30:33 -08:00
Stefano Avallone
15e11b2695 traffic-control: Make the Red and CoDel tests independent of internet 2016-03-08 22:25:37 -08:00
Stefano Avallone
7f1ed835ee traffic-control: CheckConfig () in non-debug builds 2016-03-08 22:24:54 -08:00
Tom Henderson
822ddcb157 bindings: rescan bindings 2016-03-08 22:01:30 -08:00
Tom Henderson
08cd446ca8 bindings: remove problematic forward declarations 2016-03-08 22:00:35 -08:00
Tom Henderson
04822ef884 traffic-control: add network module dependency 2016-03-08 21:59:03 -08:00
Tom Henderson
8d64ccb91b traffic-control: fix invalid use of incomplete type 2016-03-08 21:38:59 -08:00
Tom Henderson
4bfd4c7a9d traffic-control: break reference cycle 2016-03-08 11:48:16 -08:00
M P Tahiliani
b0b03f081c traffic-control: Add ARED test and examples 2016-03-08 10:48:41 -08:00
M P Tahiliani
9e11878f7d traffic-control: Add the ARED implementation 2016-03-08 10:48:36 -08:00
Stefano Avallone
1f3c090e56 test: Regenerate reference data files for the ns3-tcp-state test 2016-03-08 10:48:31 -08:00
Pasquale Imputato
003a65526d traffic-control: Fix the CoDel examples 2016-03-08 10:48:27 -08:00
Pasquale Imputato
e12f8db264 traffic-control: Fix the CoDel test suite after the move to the traffic-control module 2016-03-08 10:48:22 -08:00
Pasquale Imputato
f2ddfb2948 traffic-control: CoDel is a queue disc now 2016-03-08 10:48:18 -08:00
Pasquale Imputato
586d3d9e37 traffic-control: fix the RED examples 2016-03-08 10:48:13 -08:00
Pasquale Imputato
24881696d2 traffic-control: Fix the RED test suite after the move to the traffic-control module 2016-03-08 10:48:09 -08:00
Pasquale Imputato
58756a8efd traffic-control: RED is a queue disc now 2016-03-08 10:48:05 -08:00