On Monday, 25 November 2019 11:02:17 CET Marek Lindner wrote: [...]
Drop the patch again to have more default values for various net_device types/configurations. The user can still overwrite them using the batadv_hardif's BATADV_ATTR_THROUGHPUT_OVERRIDE.
I am not quite clear on how reverting this patch will get us better default values. In the case reported by Matthias the autoneg detection was working as intended by this very patch you are reverting. As Antonio had originally outlined:
The problem with autonegotiation disabled is that the advertised speed is likely to be a random number set by default by the driver.
It is also not reliable with auto negotiation. And disabled auto negotiation is also used rather often in complete valid setups with fixed links.
And I never said "better" - I said "more". And the other cases can be solved the same way as described in the original patch - override them.
This patch was the main reason why Matthias (or Gluon users) even realized that there was an issue with certain Ethernet ports & BATMAN V. Without the patch BATMAN V may have created routing loops and Gluon users would complain about those instead.
Routing loops? Are you sure? If this is the case than we have a major flaw in B.A.T.M.A.N. V and should think about disabling it again. This should never happen - because bad measurements can always happen. And who says that it is not a common case (even without ethernet).... maybe because it will be rather normal in the wild due to the various intepretation what get_expected_throughput should represent. Every non-minstrel based driver seems to have its own idea of what get_expected_throughput should return.
The only thing I am aware of are the invalid looking throughput values. But as outlined before, ethtool's link_ksetting are a rather bad source for neighbor specific throughput measurements. But it is the only thing which we have without a neighbor specific measurement for neighbors.
There is no disagreement that the situation needs improving but why is reverting this autoneg patch the best course of action ?
"auto negotiation has nothing to do with the validity of the retrieved values"
And gluon users/developers noticed that a lot of ethtool's link_ksetting were not used because of this patch.
Another option would be to completely drop the usage of ethtool's link_ksettings without having automatic measurements. But I think no one will be happy with it.
Kind regards, Sven