Re: [PATCH 09/15] net: hbl_en: add habanalabs Ethernet driver

Andrew Lunn
2024-06-26T14:13:59Z

> Here is the output:
> $ ethtool eth0
> Settings for eth0:
> Supported ports: [ FIBRE Backplane ]
> Supported link modes: 100000baseKR4/Full
> 100000baseSR4/Full
> 100000baseCR4/Full
> 100000baseLR4_ER4/Full
> Supported pause frame use: Symmetric
> Supports auto-negotiation: Yes
> Supported FEC modes: Not reported
> Advertised link modes: 100000baseKR4/Full
> 100000baseSR4/Full
> 100000baseCR4/Full
> 100000baseLR4_ER4/Full
> Advertised pause frame use: Symmetric
> Advertised auto-negotiation: Yes
> Advertised FEC modes: Not reported
> Link partner advertised link modes: Not reported
> Link partner advertised pause frame use: No
> Link partner advertised auto-negotiation: Yes
> Link partner advertised FEC modes: Not reported
> Speed: 100000Mb/s
> Duplex: Full
> Auto-negotiation: on
>
> There are few points to mention:
> 1. We don't allow to modify the advertised link modes so by definition the
> advertised ones are a copy of the supported ones.

So there is no way to ask it use to use 100000baseCR4/Full, for
example? You would normally change the advertised modes to just that
one link mode, and then it has no choice. It either uses
100000baseCR4/Full, or it does not establish a link.

Also, my experience with slower modules is that one supporting
2500BaseX can also support 1000BaseX. However, there is no auto-neg
defined for speeds, just pause. So if the link peer only supports
1000BaseX, you don't get link. What you typically see is:

$ ethtool eth0
Settings for eth0:
Supported ports: [ FIBRE Backplane ]
Supported link modes: 1000baseX
2500baseX
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 2500baseX
Advertised pause frame use: Symmetric

and then you use ethtool to change advertising to 1000baseX and then
you get link. Can these modules support slower speeds?

> 2. Reading the peer advertised link modes is not supported so we don't
> report them (similarly to some other vendors).

Not supported by your firmware? Or not supported by the modules?

Andrew