DPDK patches and discussions
 help / color / mirror / Atom feed
From: Huisong Li <lihuisong@huawei.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: <dev@dpdk.org>, <ferruh.yigit@intel.com>,
	<andrew.rybchenko@oktetlabs.ru>,  <ajit.khaparde@broadcom.com>,
Subject: Re: [dpdk-dev] Questions about reporting auto-negotiation capability
Date: Mon, 29 Mar 2021 19:44:07 +0800	[thread overview]
Message-ID: <6db25f2c-3f87-d444-bfdf-530bdf7c87f8@huawei.com> (raw)
In-Reply-To: <7245184.973KLNHvPo@thomas>

在 2021/3/29 15:19, Thomas Monjalon 写道:
> 29/03/2021 09:03, Thomas Monjalon:
>> 29/03/2021 06:02, Huisong Li:
>>>           '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?

Can we use bit 0 to indicate whether the device supports auto-negotiation?


1/ If device doesn't support auto-negotiation, set bit(0) of the 
'speed_capa' to 1, namely, "speed_capa |= ETH_LINK_SPEED_FIXED".

2/ Other bits of the 'speed_capa' report all the speed capabilities 
supported by the device regardless of the value of bit(0) .

The above behavior is similar to cxgbe, bnxt, and mlx5. In this way, 
users can know whether the device supports auto-negotiation

based on bit(0) and detect the supported speed capabilities based on 
other bits.

After all, this 'speed_capa' and the 'link_speeds' in "rte_eth_conf" 
struct have different purposes.

> .

  reply	other threads:[~2021-03-29 11:44 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-29  4:02 Huisong Li
2021-03-29  7:03 ` Thomas Monjalon
2021-03-29  7:19   ` Thomas Monjalon
2021-03-29 11:44     ` Huisong Li [this message]
2021-03-29 12:05       ` Thomas Monjalon
2021-03-29 14:18     ` Ajit Khaparde
2021-03-29  7:28 ` [dpdk-dev] [PATCH] drivers/net: remove useless autoneg capability Thomas Monjalon
2021-03-29 14:12   ` Ajit Khaparde
2021-04-01 13:26     ` Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6db25f2c-3f87-d444-bfdf-530bdf7c87f8@huawei.com \
    --to=lihuisong@huawei.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=jerinj@marvell.com \
    --cc=thomas@monjalon.net \


* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).