On Mon, Mar 29, 2021 at 12:56:30PM +0100, Edward Cree wrote: > On 25/03/2021 01:12, Jakub Kicinski wrote: > > 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