[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YGHI6ucPwFZDQE06@lunn.ch>
Date: Mon, 29 Mar 2021 14:32:42 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Edward Cree <ecree.xilinx@...il.com>
Cc: Jakub Kicinski <kuba@...nel.org>, davem@...emloft.net,
netdev@...r.kernel.org, michael.chan@...adcom.com,
damian.dybek@...el.com, paul.greenwalt@...el.com,
rajur@...lsio.com, jaroslawx.gawin@...el.com, vkochan@...vell.com,
alobakin@...me, snelson@...sando.io, shayagr@...zon.com,
ayal@...dia.com, shenjian15@...wei.com, saeedm@...dia.com,
mkubecek@...e.cz, roopa@...dia.com
Subject: Re: [PATCH net-next 6/6] ethtool: clarify the ethtool FEC interface
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
Powered by blists - more mailing lists