From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <wei.dai@intel.com>
Received: from mga09.intel.com (mga09.intel.com [134.134.136.24])
 by dpdk.org (Postfix) with ESMTP id D5FF22C27
 for <dev@dpdk.org>; Thu, 13 Apr 2017 10:29:12 +0200 (CEST)
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
 by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 13 Apr 2017 01:29:11 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.37,194,1488873600"; d="scan'208";a="1134896442"
Received: from dpdk6.bj.intel.com ([172.16.182.81])
 by fmsmga001.fm.intel.com with ESMTP; 13 Apr 2017 01:29:08 -0700
From: Wei Dai <wei.dai@intel.com>
To: thomas.monjalon@6wind.com, harish.patil@cavium.com, rasesh.mody@cavium.com,
 stephen.hurd@broadcom.com, ajit.khaparde@broadcom.com,
 wenzhuo.lu@intel.com, helin.zhang@intel.com, konstantin.ananyev@intel.com,
 jingjing.wu@intel.com, jing.d.chen@intel.com, adrien.mazarguil@6wind.com,
 nelio.laranjeiro@6wind.com, bruce.richardson@intel.com,
 yuanhan.liu@linux.intel.com, maxime.coquelin@redhat.com
Cc: dev@dpdk.org,
	Wei Dai <wei.dai@intel.com>
Date: Thu, 13 Apr 2017 16:21:03 +0800
Message-Id: <cover.1492071245.git.wei.dai@intel.com>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1491987746-10155-1-git-send-email-wei.dai@intel.com>
References: <1491987746-10155-1-git-send-email-wei.dai@intel.com>
Subject: [dpdk-dev] [PATCH v4 0/3] MAC address fail to be added shouldn't be
	stored
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Apr 2017 08:29:13 -0000

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(-)

-- 
2.7.4