[dpdk-dev] [PATCH v11 5/8] ethdev: add speed capabilities

Thomas Monjalon thomas.monjalon at 6wind.com
Fri Mar 18 11:12:02 CET 2016


2016-03-18 10:28, Adrien Mazarguil:
> On Thu, Mar 17, 2016 at 07:09:02PM +0100, Thomas Monjalon wrote:
> > --- a/drivers/net/mlx4/mlx4.c
> > +++ b/drivers/net/mlx4/mlx4.c
> > @@ -4301,6 +4301,8 @@ mlx4_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
> >  		 0);
> >  	if (priv_get_ifname(priv, &ifname) == 0)
> >  		info->if_index = if_nametoindex(ifname);
> > +	info->speed_capa = ETH_LINK_SPEED_10G | ETH_LINK_SPEED_40G |
> > +			ETH_LINK_SPEED_56G;
> >  	priv_unlock(priv);
> >  }
> 
> Missing: ETH_LINK_SPEED_100M (not sure if we care), ETH_LINK_SPEED_1G and
> the nonstandard ETH_LINK_SPEED_20G with some adapters.

For v12:
-       info->speed_capa = ETH_LINK_SPEED_10G | ETH_LINK_SPEED_40G |
+       info->speed_capa =
+                       ETH_LINK_SPEED_1G |
+                       ETH_LINK_SPEED_10G |
+                       ETH_LINK_SPEED_20G |
+                       ETH_LINK_SPEED_40G |
                        ETH_LINK_SPEED_56G;

> In the future we should provide a more accurate speed_capa depending on
> actual port capabilities, several mlx4 adapters cannot handle them all.

When doing so, you'll be able to fill the row "speed capability" in overview.rst.

> > --- a/drivers/net/mlx5/mlx5_ethdev.c
> > +++ b/drivers/net/mlx5/mlx5_ethdev.c
> > @@ -522,6 +522,9 @@ mlx5_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
> >  	 * size if it is not fixed.
> >  	 * The API should be updated to solve this problem. */
> >  	info->reta_size = priv->ind_table_max_size;
> > +	info->speed_capa = ETH_LINK_SPEED_1G | ETH_LINK_SPEED_10G |
> > +			ETH_LINK_SPEED_25G | ETH_LINK_SPEED_40G |
> > +			ETH_LINK_SPEED_50G;
> >  	priv_unlock(priv);
> >  }
> 
> Missing: ETH_LINK_SPEED_100G, ETH_LINK_SPEED_20G and ETH_LINK_SPEED_56G.

For v12:
-       info->speed_capa = ETH_LINK_SPEED_1G | ETH_LINK_SPEED_10G |
-                       ETH_LINK_SPEED_25G | ETH_LINK_SPEED_40G |
-                       ETH_LINK_SPEED_50G | ETH_LINK_SPEED_100G;
+       info->speed_capa =
+                       ETH_LINK_SPEED_1G |
+                       ETH_LINK_SPEED_10G |
+                       ETH_LINK_SPEED_20G |
+                       ETH_LINK_SPEED_25G |
+                       ETH_LINK_SPEED_40G |
+                       ETH_LINK_SPEED_50G |
+                       ETH_LINK_SPEED_56G |
+                       ETH_LINK_SPEED_100G;

ETH_LINK_SPEED_100G is added in patch #8.

> Same as above, these capabilities actually depend on the adapter type and
> should be probed.
> 
> I think ETH_LINK_SPEED_100M should work as well but I can't find it
> mentioned anywhere, let's leave it out for now.



More information about the dev mailing list