[dpdk-dev] [RFC 00/14] link status API improvement and bugfixes

Stephen Hemminger stephen at networkplumber.org
Fri Jul 14 20:30:13 CEST 2017


While writing new driver, I noticed a lot of unnecessary duplication of
code in drivers for handling the eth_dev link status information. While
consolidating this, it also became obvious that several drivers have
bugs in this are because they don't return the correct value.
Also, some drivers were not fully initializing all the space (including
padding).

This is compile test only at this point, I don't have any of the hardware
available (except virtio) to test.

Stephen Hemminger (14):
  ethdev: add link status read/write functions
  virtio: use eth_link_read/write (and bug fix)
  bnxt: use rte_link_update
  vmxnet3: use rte_eth_link_update
  dpaa2: use rte_eth_link_update
  nfp: use rte_eth_link_update
  e1000: use rte_eth_link_update
  ixgbe: use rte_eth_link_update
  sfc: use new rte_eth_link helpers
  i40e: use rte_eth_link_update (and bug fix)
  liquidio: use _rte_eth_link_update
  thunderx: use _rte_eth_link_update
  szedata: use _rte_eth_link_update
  enic: use _rte_eth_link_update

 drivers/net/bnxt/bnxt_ethdev.c          | 21 +-------
 drivers/net/dpaa2/dpaa2_ethdev.c        | 66 +++---------------------
 drivers/net/e1000/em_ethdev.c           | 70 ++------------------------
 drivers/net/e1000/igb_ethdev.c          | 71 ++------------------------
 drivers/net/enic/enic_ethdev.c          |  5 +-
 drivers/net/enic/enic_main.c            | 16 +++---
 drivers/net/i40e/i40e_ethdev.c          | 44 +++-------------
 drivers/net/i40e/i40e_ethdev_vf.c       | 19 +------
 drivers/net/ixgbe/ixgbe_ethdev.c        | 89 +++++----------------------------
 drivers/net/liquidio/lio_ethdev.c       | 76 +++++++---------------------
 drivers/net/nfp/nfp_net.c               | 74 +++------------------------
 drivers/net/sfc/sfc_ethdev.c            | 27 +++-------
 drivers/net/sfc/sfc_ev.c                | 23 ++-------
 drivers/net/szedata2/rte_eth_szedata2.c | 18 +++----
 drivers/net/thunderx/nicvf_ethdev.c     | 17 +------
 drivers/net/virtio/virtio_ethdev.c      | 54 +++-----------------
 drivers/net/vmxnet3/vmxnet3_ethdev.c    | 66 ++----------------------
 lib/librte_ether/rte_ethdev.c           | 36 +++++++++++++
 lib/librte_ether/rte_ethdev.h           | 28 +++++++++++
 19 files changed, 171 insertions(+), 649 deletions(-)

-- 
2.11.0



More information about the dev mailing list