> > 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' . > > --- > Changes > 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/bnx2x/bnx2x_ethdev.c | 7 +++-- > drivers/net/bnxt/bnxt_ethdev.c | 12 ++++---- > drivers/net/e1000/base/e1000_api.c | 2 +- > drivers/net/e1000/em_ethdev.c | 6 ++-- > drivers/net/e1000/igb_ethdev.c | 5 ++-- > drivers/net/enic/enic.h | 2 +- > drivers/net/enic/enic_ethdev.c | 4 +-- > drivers/net/enic/enic_main.c | 6 ++-- > drivers/net/fm10k/fm10k_ethdev.c | 3 +- > drivers/net/i40e/i40e_ethdev.c | 11 +++---- > drivers/net/i40e/i40e_ethdev_vf.c | 8 ++--- > drivers/net/ixgbe/ixgbe_ethdev.c | 27 +++++++++++------ > drivers/net/mlx4/mlx4.c | 18 ++++++----- > 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, 162 insertions(+), 70 deletions(-) > > --
Acked-by: Konstantin Ananyev <konstantin.anan...@intel.com> > 2.7.4