Hi,
On 31/08/18 20:16, Marek Lindner wrote:
On Friday, 31 August 2018 18:30:00 HKT Sven Eckelmann wrote:
I noticed 2 macro definitons. #define BATADV_ELP_PROBES_PER_NODE 2 #define BATADV_ELP_MIN_PROBE_SIZE 200 /* bytes */ I wonder why it sends 2 prob ELP packets to each neighbour. Can I change the value of BATADV_ELP_PROBES_PER_NODE from 2 to 1? And can I decrease ELP prob packet size from 200 to 100, in order to decrase the ELP airtime?
@Antonio, @Marek: Maybe you can explain it better than me.
I would guess that Antonio wanted to make sure that the rate control algorithm of the driver probes enough and thus provides a more realistic expected throughput.
Feel free to change these values to test if this has any impact. As far as I am aware, these number are the result of an educated guess based on how minstrel works. Antonio can shed more light on this.
As Marek stated above, these constants are defined so that Minstrel has always enough samples to trigger a throughput re-computation for every ELP interval.
If less data is available, Minstrel won't compute a fresh expected throughput. Therefore after every ELP interval batman-adv checks if during the last 100ms (BATADV_ELP_PROBE_MAX_TX_DIFF) the node had sent any payload data to a given neighbour. If not, then it will send the unicast probes.
This means that if you already have enough data over the link, no unicast ELP messages should be sent (thus these constants won't be used).
To conclude: if you have no data over the link, sending 2 probes of 200bytes each every 500ms (default ELP interval) won't really eat much airtime, unless you have a lot of idling 1-hop neighbours.
I hope this helps.
Cheers,