[dpdk-dev] [PATCH v6 0/3] MAC address fail to be added shouldn't be stored

Wei Dai wei.dai at intel.com
Tue May 2 14:44:22 CEST 2017


Current ethdev always stores MAC address even it fails to be added.
Other function may regard the failed MAC address valid and lead to
some errors. So There is a need to check if the addr is added
successfully or not and discard it if it fails.

In 3rd patch, add a command "add_more_mac_addr port_id base_mac_addr count"
to add more than one MAC address one time.
This command can simplify the test for the first patch.
Normally a MAC address may fails to be added only after many MAC
addresses have been added.
Without this command, a tester may only trigger failed MAC address
by running many times of testpmd command 'mac_addr add' .

For v4 patch set, have got acknowledgements from
Nelio Laranjeiro <nelio.laranjeiro at 6wind.com>  for mlx changes
Yuanhan Liu <yuanhan.liu at linux.intel.com>  for virtio changes

---
Changes
v6:
  1. rebase master branch to v17.05-rc3
  2. not touch e1000 base driver code
  3. fix some minor defects

v5:
  1. rebase master branch
  2. add support to drivers/net/ark
  3. fix some minor defects
  
v4:
  1. rebase master branch
  2. follow code style
	
v3:
  1. Change return value for some specific NIC according to feedbacks
     from the community;
  2. Add ABI change in release note;
  3. Add more detailed commit message.

v2:
  fix warnings and erros from check-git-log.sh and checkpatch.pl

Wei Dai (3):
  ethdev: fix adding invalid MAC addr
  doc: change type of return value of adding MAC addr
  app/testpmd: add a command to add many MAC addrs

 app/test-pmd/cmdline.c                 | 55 ++++++++++++++++++++++++++++++++++
 doc/guides/rel_notes/release_17_05.rst |  7 +++++
 drivers/net/ark/ark_ethdev.c           | 15 ++++++----
 drivers/net/bnx2x/bnx2x_ethdev.c       |  7 +++--
 drivers/net/bnxt/bnxt_ethdev.c         | 16 +++++-----
 drivers/net/e1000/em_ethdev.c          |  8 ++---
 drivers/net/e1000/igb_ethdev.c         |  9 +++---
 drivers/net/enic/enic.h                |  2 +-
 drivers/net/enic/enic_ethdev.c         |  4 +--
 drivers/net/enic/enic_main.c           |  9 +++---
 drivers/net/fm10k/fm10k_ethdev.c       |  3 +-
 drivers/net/i40e/i40e_ethdev.c         | 17 ++++++-----
 drivers/net/i40e/i40e_ethdev_vf.c      | 14 ++++-----
 drivers/net/ixgbe/ixgbe_ethdev.c       | 33 ++++++++++++--------
 drivers/net/mlx4/mlx4.c                | 16 ++++++----
 drivers/net/mlx5/mlx5.h                |  4 +--
 drivers/net/mlx5/mlx5_mac.c            | 16 ++++++----
 drivers/net/qede/qede_ethdev.c         |  6 ++--
 drivers/net/ring/rte_eth_ring.c        |  3 +-
 drivers/net/virtio/virtio_ethdev.c     | 13 ++++----
 lib/librte_ether/rte_ethdev.c          | 15 ++++++----
 lib/librte_ether/rte_ethdev.h          |  2 +-
 22 files changed, 184 insertions(+), 90 deletions(-)

-- 
2.7.4



More information about the dev mailing list