[dpdk-dev] [PATCH v3 0/2] ethdev: add port speed capability bitmap
Marc Sune
marcdevel at gmail.com
Sat Aug 29 01:20:12 CEST 2015
From: Marc Sune <marcdevel at gmail.de>
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_link to speed, to allow a bitmap
for defining the announced speeds, as suggested M. Brorup. Fixed spelling
issues.
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/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 | 37 ++++++++++++++++-----------
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 ++++++++++++++++++++++---------
12 files changed, 135 insertions(+), 77 deletions(-)
--
2.1.4
More information about the dev
mailing list