[dpdk-dev] [PATCH v4 0/2] ethdev: add port speed capability bitmap

Marc Sune marcdevel at gmail.com
Mon Sep 7 22:52:53 CEST 2015


2015-08-29 2:16 GMT+02:00 Marc Sune <marcdevel at gmail.com>:

> The current rte_eth_dev_info abstraction does not provide any mechanism to
> get the supported speed(s) of an ethdev.
>
> For some drivers (e.g. ixgbe), an educated guess can be done based on the
> driver's name (driver_name in rte_eth_dev_info), see:
>
> http://dpdk.org/ml/archives/dev/2013-August/000412.html
>
> However, i) doing string comparisons is annoying, and can silently
> break existing applications if PMDs change their names ii) it does not
> provide all the supported capabilities of the ethdev iii) for some drivers
> it
> is impossible determine correctly the (max) speed by the application
> (e.g. in i40, distinguish between XL710 and X710).
>
> This small patch adds speed_capa bitmap in rte_eth_dev_info, which is
> filled
> by the PMDs according to the physical device capabilities.
>
> v2: rebase, converted speed_capa into 32 bits bitmap, fixed alignment
> (checkpatch).
>
> v3: rebase to v2.1. unified ETH_LINK_SPEED and ETH_SPEED_CAP into
> ETH_SPEED.
>     Converted field speed in struct rte_eth_conf to speeds, to allow a
> bitmap
>     for defining the announced speeds, as suggested by M. Brorup. Fixed
>     spelling issues.
>
> v4: fixed errata in the documentation of field speeds of rte_eth_conf, and
>     commit 1/2 message. rebased to v2.1.0. v3 was incorrectly based on
>     ~2.1.0-rc1.
>

Thomas,

Since mostly you were commenting for v1 and v2; any opinion on this one?

Regards
marc


>
> Marc Sune (2):
>   Added ETH_SPEED_ bitmap in rte_eth_dev_info
>   Filling speed capability bitmaps in the PMDs
>
>  app/test-pmd/cmdline.c                    | 32 +++++++++++------------
>  app/test/virtual_pmd.c                    |  2 +-
>  drivers/net/bonding/rte_eth_bond_8023ad.c | 14 +++++-----
>  drivers/net/cxgbe/base/t4_hw.c            |  8 +++---
>  drivers/net/e1000/em_ethdev.c             | 20 +++++++++-----
>  drivers/net/e1000/igb_ethdev.c            | 20 +++++++++-----
>  drivers/net/fm10k/fm10k_ethdev.c          |  3 +++
>  drivers/net/i40e/i40e_ethdev.c            | 43
> +++++++++++++++++++------------
>  drivers/net/i40e/i40e_ethdev_vf.c         |  2 +-
>  drivers/net/ixgbe/ixgbe_ethdev.c          | 32 +++++++++++++++--------
>  drivers/net/mlx4/mlx4.c                   |  6 +++++
>  drivers/net/vmxnet3/vmxnet3_ethdev.c      |  2 +-
>  lib/librte_ether/rte_ethdev.h             | 42
> +++++++++++++++++++++---------
>  13 files changed, 142 insertions(+), 84 deletions(-)
>
> --
> 2.1.4
>
>


More information about the dev mailing list