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