Re: [PATCH RFC] Providing a helper for PCS inband negotiation

Vladimir Oltean
2023-05-15T22:09:06Z

On Mon, May 15, 2023 at 10:45:21PM +0100, Russell King (Oracle) wrote:
> Clause 73.1:
>
> So, my reading of these statements is that the _user_ should be
> able to control via ethtool whether Clause 73 negotiation is
> performed on a 10GBASE-KR (or any other backplane link that
> uses clause 73 negotiation.) Having extracted that from 802.3,
> I now believe it should be treated the same as 1000BASE-X, and
> the Autoneg bit in ethtool should determine whether Clause 73
> negotiation is used for 10GBASE-KR (and any other Clause 73
> using protocol.)

Having said that copper backplane link modes should be treated "the
same" as fiber link modes w.r.t. ethtool -s autoneg, it should also be
said that there are significant differences between clause 37 and 73
autoneg too.

Clause 73 negotiates the actual use of 10GBase-KR as a SERDES protocol
through the copper backplane in favor of other "Base-K*" alternative
link modes, so it's not quite proper to say that 10GBase-KR is a clause
73 using protocol.

To me, the goals of clause 73 autoneg are much more similar to those of
the twisted pair autoneg process - clause 28, which similarly selects
between different media side protocols in the PHY, using a priority
resolution function. For those, we use phylib and the phy_device
structure. What are the merits of using phylink_pcs for copper backplanes
and not phylib?