From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pascal.mazon@6wind.com>
Received: from proxy.6wind.com (host.76.145.23.62.rev.coltfrance.com
 [62.23.145.76]) by dpdk.org (Postfix) with ESMTP id 0536AA10
 for <dev@dpdk.org>; Mon, 13 Mar 2017 11:28:08 +0100 (CET)
Received: from 6wind.com (unknown [10.16.0.184])
 by proxy.6wind.com (Postfix) with SMTP id CE5E825EA2;
 Mon, 13 Mar 2017 11:28:02 +0100 (CET)
Received: by 6wind.com (sSMTP sendmail emulation);
 Mon, 13 Mar 2017 11:27:10 +0100
From: Pascal Mazon <pascal.mazon@6wind.com>
To: jingjing.wu@intel.com
Cc: dev@dpdk.org,
	Pascal Mazon <pascal.mazon@6wind.com>
Date: Mon, 13 Mar 2017 11:27:07 +0100
Message-Id: <6ebfd4f391c1c273fc6266c1a00d3999bc5fa745.1489400785.git.pascal.mazon@6wind.com>
X-Mailer: git-send-email 2.8.0.rc0
In-Reply-To: <e5e48df067881542e4912df97eca8e511abd5fc7.1488532396.git.pascal.mazon@6wind.com>
References: <e5e48df067881542e4912df97eca8e511abd5fc7.1488532396.git.pascal.mazon@6wind.com>
Subject: [dpdk-dev] [PATCH v2] app/testpmd: add default MAC set cmd
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: Mon, 13 Mar 2017 10:28:09 -0000

Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
---
 app/test-pmd/cmdline.c                      | 12 +++++++++---
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |  7 +++++++
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 43fc6366f279..4bbefa43966e 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -405,6 +405,9 @@ static void cmd_help_long_parsed(void *parsed_result,
 			"mac_addr remove (port_id) (XX:XX:XX:XX:XX:XX)\n"
 			"    Remove a MAC address from port_id.\n\n"
 
+			"mac_addr set (port_id) (XX:XX:XX:XX:XX:XX)\n"
+			"    Set the default MAC address for port_id.\n\n"
+
 			"mac_addr add port (port_id) vf (vf_id) (mac_address)\n"
 			"    Add a MAC address for a VF on the port.\n\n"
 
@@ -6356,6 +6359,9 @@ static void cmd_mac_addr_parsed(void *parsed_result,
 
 	if (strcmp(res->what, "add") == 0)
 		ret = rte_eth_dev_mac_addr_add(res->port_num, &res->address, 0);
+	else if (strcmp(res->what, "set") == 0)
+		ret = rte_eth_dev_default_mac_addr_set(res->port_num,
+						       &res->address);
 	else
 		ret = rte_eth_dev_mac_addr_remove(res->port_num, &res->address);
 
@@ -6370,7 +6376,7 @@ cmdline_parse_token_string_t cmd_mac_addr_cmd =
 				"mac_addr");
 cmdline_parse_token_string_t cmd_mac_addr_what =
 	TOKEN_STRING_INITIALIZER(struct cmd_mac_addr_result, what,
-				"add#remove");
+				"add#remove#set");
 cmdline_parse_token_num_t cmd_mac_addr_portnum =
 		TOKEN_NUM_INITIALIZER(struct cmd_mac_addr_result, port_num, UINT8);
 cmdline_parse_token_etheraddr_t cmd_mac_addr_addr =
@@ -6379,8 +6385,8 @@ cmdline_parse_token_etheraddr_t cmd_mac_addr_addr =
 cmdline_parse_inst_t cmd_mac_addr = {
 	.f = cmd_mac_addr_parsed,
 	.data = (void *)0,
-	.help_str = "mac_addr add|remove <port_id> <mac_addr>: "
-			"Add/Remove MAC address on port_id",
+	.help_str = "mac_addr add|remove|set <port_id> <mac_addr>: "
+			"Add/Remove/Set MAC address on port_id",
 	.tokens = {
 		(void *)&cmd_mac_addr_cmd,
 		(void *)&cmd_mac_addr_what,
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 64ed0285e471..bdc6a14df240 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -837,6 +837,13 @@ Add an alternative MAC address for a VF to a port::
 
    testpmd> mac_add add port (port_id) vf (vf_id) (XX:XX:XX:XX:XX:XX)
 
+mac_addr set
+~~~~~~~~~~~~
+
+Set the default MAC address for a port::
+
+   testpmd> mac_addr set (port_id) (XX:XX:XX:XX:XX:XX)
+
 mac_addr set (for VF)
 ~~~~~~~~~~~~~~~~~~~~~
 
-- 
2.8.0.rc0