[dpdk-dev] [PATCH] ethdev: fix link autonegotiation value

Ferruh Yigit ferruh.yigit at intel.com
Mon Jan 8 13:31:04 CET 2018


On 1/5/2018 5:38 PM, Thomas Monjalon wrote:
> There are 3 kind of link data in ethdev:
> 	- capabilities (rte_eth_dev_info)
> 	- configuration (rte_eth_conf)
> 	- status (rte_eth_link)
> 
> A bit-field is used for capabilities (rte_eth_dev_info.speed_capa) and
> configuration (rte_eth_conf.link_speeds).
> Bits are defined in ETH_LINK_SPEED_*.
> 
> Some numerical (ETH_SPEED_NUM_*) and boolean (ETH_LINK_*) values
> are used for the link status (rte_eth_link.*).
> 
> There was a mistake in the comment of rte_eth_link.link_autoneg,
> suggesting ETH_LINK_SPEED_[AUTONEG/FIXED] which are 0/1,
> instead of ETH_LINK_[AUTONEG/FIXED] which are 1/0.
> 
> The drivers are fixed to use ETH_LINK_[AUTONEG/FIXED].
> 
> Fixes: 82113036e4e5 ("ethdev: redesign link speed config")
> 
> Suggested-by: Andrew Rybchenko <arybchenko at solarflare.com>
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>

<...>

> diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
> index 5a86752f9..3efb451a2 100644
> --- a/drivers/net/pcap/rte_eth_pcap.c
> +++ b/drivers/net/pcap/rte_eth_pcap.c
> @@ -124,7 +124,7 @@ static struct rte_eth_link pmd_link = {
>  		.link_speed = ETH_SPEED_NUM_10G,
>  		.link_duplex = ETH_LINK_FULL_DUPLEX,
>  		.link_status = ETH_LINK_DOWN,
> -		.link_autoneg = ETH_LINK_SPEED_FIXED,
> +		.link_autoneg = ETH_LINK_AUTONEG,
>  };
>  
>  static int
<...>
> diff --git a/drivers/net/softnic/rte_eth_softnic.c b/drivers/net/softnic/rte_eth_softnic.c
> index c21c29e79..5c5464c8d 100644
> --- a/drivers/net/softnic/rte_eth_softnic.c
> +++ b/drivers/net/softnic/rte_eth_softnic.c
> @@ -522,7 +522,7 @@ pmd_ethdev_register(struct rte_vdev_device *vdev,
>  	soft_dev->data->dev_private = dev_private;
>  	soft_dev->data->dev_link.link_speed = hard_speed;
>  	soft_dev->data->dev_link.link_duplex = ETH_LINK_FULL_DUPLEX;
> -	soft_dev->data->dev_link.link_autoneg = ETH_LINK_SPEED_FIXED;
> +	soft_dev->data->dev_link.link_autoneg = ETH_LINK_AUTONEG;
>  	soft_dev->data->dev_link.link_status = ETH_LINK_DOWN;
>  	soft_dev->data->mac_addrs = &eth_addr;
>  	soft_dev->data->promiscuous = 1;
>  static void
<...>
> diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> index b988d1b41..fa1206c26 100644
> --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
> +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> @@ -1143,7 +1143,7 @@ __vmxnet3_dev_link_update(struct rte_eth_dev *dev,
>  		link.link_status = ETH_LINK_UP;
>  		link.link_duplex = ETH_LINK_FULL_DUPLEX;
>  		link.link_speed = ETH_SPEED_NUM_10G;
> -		link.link_autoneg = ETH_LINK_SPEED_FIXED;
> +		link.link_autoneg = ETH_LINK_AUTONEG;
>  	}
>  
>  	vmxnet3_dev_atomic_write_link_status(dev, &link);

These three drivers changes from "fixed" to "autoneg", intentional?


More information about the dev mailing list