Re: [PATCH net-next 6/6] ethtool: clarify the ethtool FEC interface
From: Andrew Lunn <andrew@lunn.ch>
Date: 2021-03-29 12:33:54
On Mon, Mar 29, 2021 at 12:56:30PM +0100, Edward Cree wrote:
On 25/03/2021 01:12, Jakub Kicinski wrote:quoted
Drivers should reject mixing %ETHTOOL_FEC_AUTO_BIT with other + * FEC modes, because it's unclear whether in this case other modes constrain + * AUTO or are independent choices.Does this mean you want me to spin a patch to sfc to reject this? Currently for us e.g. AUTO|RS means use RS if the cable and link partner both support it, otherwise let firmware choose (presumably between BASER and OFF) based on cable/module & link partner caps and/or parallel detect. We took this approach because our requirements writers believed that customers would have a need for this setting; they called it "prefer FEC", and I think the idea was to use FEC if possible (even on cables where the IEEE-recommended default is no FEC, such as CA-25G-N 3m DAC) but allow fallback to no FEC if e.g. link partner doesn't advertise FEC in AN. Similarly, AUTO|BASER ("prefer BASE-R FEC") might be desired by a user who wants to use BASE-R if possible to minimise latency, but fall back to RS FEC if the cable or link partner insists on it (eg CA-25G-L 5m DAC). Whether we were right and all this is actually useful, I couldn't say.
Jacub was talking about adding a netlink API as the next step. You
should feed this in as a requirement for that. Being able to express
preferences in the API in an explicitly documented way.
It there any other existing ethtool setting which could be used as a
model? EEE, master/slave? I would class pause as an anti model, that
is frequently done wrong :-(
Andrew