Thread (9 messages) 9 messages, 4 authors, 2021-04-01

Re: [dpdk-dev] Questions about reporting auto-negotiation capability

From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: 2021-03-29 14:18:49

On Mon, Mar 29, 2021 at 12:19 AM Thomas Monjalon [off-list ref] wrote:
29/03/2021 09:03, Thomas Monjalon:
quoted
29/03/2021 06:02, Huisong Li:
quoted
         'speed_capa' in struct rte_eth_dev_info is defined as follows:

uint32_t speed_capa;  /**< Supported speeds bitmap (ETH_LINK_SPEED_). */


       Most PMD drivers use this field to report the speeds capability
supported by the device to the upper-layer app.

But it seems that few NICs report their auto-negotiation capability
through this field. If NIC also uses it to report
their auto-negotiation capability through this field, and should set it
to ETH_LINK_SPEED_AUTONEG(0) based on
the definition of ETH_LINK_SPEED_xxx. In this case, it conflicts the
report of the speeds capability .

I don't know how to correctly report the auto-negotiation capability of
the device. Thanks for your reply.
ETH_LINK_SPEED_AUTONEG is not for capabilities.
Anyway, if it is set, it changes nothing (0) in the bitmap.
I see mlx5 is wrongly using it.

speed_capa is only for enumerating speeds.
I see some drivers are advertising ETH_LINK_SPEED_FIXED in speed_capa
if the device cannot support autonegotiation.
Should we add a note in doxygen?
I think we should do that.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help