From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50070.outbound.protection.outlook.com [40.107.5.70]) by dpdk.org (Postfix) with ESMTP id 5207B1B5E8 for ; Wed, 10 Oct 2018 15:11:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GnBdBcstk/r21Gv7v3BCkEHbjKbllH55f7xyv7mwRjI=; b=V9arC92bc7qqPBIzgTXduSU2dZLFNfLKJSRxRiaKVcfNHS14IHWMtOKJ/i3ssquGFI9q6lI3pScbVka/QfA00Rs5V+/kh4okdKpjiuCZSKMAhAUiSzXdmn3LMkQUn6u63SI/tymYrQiMQ3YDUo2yo5QMyH1uF+2LpcnfT7r+feI= Received: from DB6PR0501MB2023.eurprd05.prod.outlook.com (10.168.9.17) by DB6PR0501MB2632.eurprd05.prod.outlook.com (10.172.225.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1228.23; Wed, 10 Oct 2018 13:11:43 +0000 Received: from DB6PR0501MB2023.eurprd05.prod.outlook.com ([fe80::b1fb:bad3:b5b1:f913]) by DB6PR0501MB2023.eurprd05.prod.outlook.com ([fe80::b1fb:bad3:b5b1:f913%3]) with mapi id 15.20.1228.020; Wed, 10 Oct 2018 13:11:43 +0000 From: Jack Min To: Adrien Mazarguil , Wenzhuo Lu , Jingjing Wu , Bernard Iremonger , John McNamara , Marko Kovacevic CC: "dev@dpdk.org" Thread-Topic: [PATCH v2 2/3] app/testpmd: add commands of modify MAC address Thread-Index: AQHUYJrJGiNUTJv7XkaL0aVV+OfqtQ== Date: Wed, 10 Oct 2018 13:11:42 +0000 Message-ID: <20181010131108.24167-3-jackmin@mellanox.com> References: <20180925150340.25378-1-jackmin@mellanox.com> <20181010131108.24167-1-jackmin@mellanox.com> In-Reply-To: <20181010131108.24167-1-jackmin@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: HK2PR02CA0156.apcprd02.prod.outlook.com (2603:1096:201:1f::16) To DB6PR0501MB2023.eurprd05.prod.outlook.com (2603:10a6:4:6::17) authentication-results: spf=none (sender IP is ) smtp.mailfrom=jackmin@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [118.201.220.138] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB6PR0501MB2632; 6:CiSYAoenswV5rTFJqtoCfPrlr2GVGbxq1A5KTFGDK5y+IZdGQjE0Cr4NJKyxsP18kG1+BWKwKpod/f4RtJTXGula6PLxBsdM69GPajacrVlL3jzDrZzq/EisEycEzEHZ+QbQHgAKVV8J+mg/lmxxKbrZlLTXYYe7pxWblolP4be6Udf0xbCKOxB9O/KSD1SNP4r6QITG6N/a1gr1TulgRcH/cEYmPPyLPp8NVHnTrGo+syJyZH84iR5E7Wl4IApcLd+5JByDroOIGzFbQkGfrf33/FkWYSiN9WAGrRvqghZyo2F5VtfVsSD94lbOwLnXT1HQnT3+orz0PQGAyzmcktbBtnerX4ydCrIeWOU+f+UvoNrBFR7ZVTWn+2GVb4XIdJGhLfZ6IgRtQJL/UmVNiWwHd+fDk6B/JWf2VHQL2NbxXdG3JhbXtBvrhddZn0HWsMK8ouJtyjK4oePGlOjy/w==; 5:/zptRmlNpq8TyqbrM5I1te+2O3UlsHQE4SoJOkbQ0Yi5EdPCHGmXZSt9u1yemNNi6nwYFbA/XZ9cMG4LLCiYo/6Q6O9Aj830cIneTi1UzRqCX13E9BssTjpGZ3zNOYEQd3CvK9wIeiHJbdMNwuSEb5frIPNVxXvEUsd6qh7b+Qo=; 7:5Wlqw+F7saTWYSNlQQxZ3hL3ejy0reXIyYJZy+mddirfXc8ZBweez/HBbeGrsWeQB4s6xZhSmcMJ1D3kE3fQiVIZ5FNQ809ckkH/0HoFdiEUJyDo7gqCGktvF1bEedZJ9kQsT5G7J1Xvxl5byjLHe8J/lAEIYWP5AYO2aN7K2uE5wgvYdY2FLdt7h7J+12mMSEK5nfwKVHeAQe+QEaacXg+i7j7qcb/nzFqCR/6iz0XjJLRqb+YKUCncYk/DReaK x-ms-office365-filtering-correlation-id: ba087f7b-ac24-48f7-6773-08d62eb1ebe3 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DB6PR0501MB2632; x-ms-traffictypediagnostic: DB6PR0501MB2632: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3231355)(944501410)(52105095)(3002001)(93006095)(93001095)(6055026)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(20161123562045)(20161123560045)(201708071742011)(7699051); SRVR:DB6PR0501MB2632; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0501MB2632; x-forefront-prvs: 08213D42D3 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(366004)(396003)(346002)(376002)(136003)(199004)(189003)(14454004)(446003)(106356001)(105586002)(3846002)(6116002)(1076002)(110136005)(86362001)(52116002)(186003)(256004)(76176011)(99286004)(81166006)(81156014)(486006)(386003)(11346002)(102836004)(26005)(8676002)(8936002)(2616005)(6506007)(476003)(68736007)(7736002)(66066001)(53936002)(2906002)(305945005)(5660300001)(6436002)(6486002)(316002)(71200400001)(71190400001)(36756003)(25786009)(97736004)(2900100001)(5250100002)(4326008)(6512007)(478600001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0501MB2632; H:DB6PR0501MB2023.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: MSlmghhY2tE6q4MbnWaC/xapLEMghTFAKJPUXq2HgIem1EqFejVQogLbhUpNBCpgC7D+yuKUX0DjQ1NgOSuppdxxEmupHh3rux6eth/9FRGkoHuTBEj+5T5kgCryKjTXTSLv5feJqDz7JeOfngoxlRZ0ZmvavYxb8CvWT4Y9u9pC/dnf1huIp6nQ8ZEE+bT3Wr2zMd0cV0U0pYE7U0c7R++QyNjFcaeUovX+5AjqiEmInSlOOC9RtxrfrI70awD+4vXilEHhYIQ1MQubygwh/OZqfKpDWuW6lQoIhsN269WSj4sEBiWHCSCTB76eEZJI+D80brOmB3OmHS8OmfgbGIbOvxoj/Gn2fRlcuil+39Q= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: ba087f7b-ac24-48f7-6773-08d62eb1ebe3 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2018 13:11:42.8954 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0501MB2632 Subject: [dpdk-dev] [PATCH v2 2/3] app/testpmd: add commands of modify MAC address X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Oct 2018 13:11:44 -0000 add commands to support following actions: - RTE_FLOW_ACTION_TYPE_SET_MAC_SRC - RTE_FLOW_ACTION_TYPE_SET_MAC_DST Signed-off-by: Xiaoyu Min Acked-by: Yongseok Koh --- app/test-pmd/cmdline_flow.c | 50 +++++++++++++++++++++ doc/guides/testpmd_app_ug/testpmd_funcs.rst | 8 ++++ 2 files changed, 58 insertions(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index fae825462..d06e75799 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -258,6 +258,10 @@ enum index { ACTION_DEC_TTL, ACTION_SET_TTL, ACTION_SET_TTL_TTL, + ACTION_SET_MAC_SRC, + ACTION_SET_MAC_SRC_MAC_SRC, + ACTION_SET_MAC_DST, + ACTION_SET_MAC_DST_MAC_DST, }; =20 /** Maximum size for pattern in struct rte_flow_item_raw. */ @@ -839,6 +843,8 @@ static const enum index next_action[] =3D { ACTION_SET_TP_DST, ACTION_DEC_TTL, ACTION_SET_TTL, + ACTION_SET_MAC_SRC, + ACTION_SET_MAC_DST, ZERO, }; =20 @@ -947,6 +953,12 @@ static const enum index action_set_ipv4_src[] =3D { ZERO, }; =20 +static const enum index action_set_mac_src[] =3D { + ACTION_SET_MAC_SRC_MAC_SRC, + ACTION_NEXT, + ZERO, +}; + static const enum index action_set_ipv4_dst[] =3D { ACTION_SET_IPV4_DST_IPV4_DST, ACTION_NEXT, @@ -989,6 +1001,12 @@ static const enum index action_jump[] =3D { ZERO, }; =20 +static const enum index action_set_mac_dst[] =3D { + ACTION_SET_MAC_DST_MAC_DST, + ACTION_NEXT, + ZERO, +}; + static int parse_init(struct context *, const struct token *, const char *, unsigned int, void *, unsigned int); @@ -2654,6 +2672,38 @@ static const struct token token_list[] =3D { (struct rte_flow_action_set_ttl, ttl_value)), .call =3D parse_vc_conf, }, + [ACTION_SET_MAC_SRC] =3D { + .name =3D "set_mac_src", + .help =3D "set source mac address", + .priv =3D PRIV_ACTION(SET_MAC_SRC, + sizeof(struct rte_flow_action_set_mac)), + .next =3D NEXT(action_set_mac_src), + .call =3D parse_vc, + }, + [ACTION_SET_MAC_SRC_MAC_SRC] =3D { + .name =3D "mac_addr", + .help =3D "new source mac address", + .next =3D NEXT(action_set_mac_src, NEXT_ENTRY(MAC_ADDR)), + .args =3D ARGS(ARGS_ENTRY_HTON + (struct rte_flow_action_set_mac, mac_addr)), + .call =3D parse_vc_conf, + }, + [ACTION_SET_MAC_DST] =3D { + .name =3D "set_mac_dst", + .help =3D "set destination mac address", + .priv =3D PRIV_ACTION(SET_MAC_DST, + sizeof(struct rte_flow_action_set_mac)), + .next =3D NEXT(action_set_mac_dst), + .call =3D parse_vc, + }, + [ACTION_SET_MAC_DST_MAC_DST] =3D { + .name =3D "mac_addr", + .help =3D "new destination mac address to set", + .next =3D NEXT(action_set_mac_dst, NEXT_ENTRY(MAC_ADDR)), + .args =3D ARGS(ARGS_ENTRY_HTON + (struct rte_flow_action_set_mac, mac_addr)), + .call =3D parse_vc_conf, + }, }; =20 /** Remove and return last entry from argument stack. */ diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testp= md_app_ug/testpmd_funcs.rst index 16cd4468e..ab478fa96 100644 --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst @@ -3733,6 +3733,14 @@ This section lists supported actions and their attri= butes, if any. - ``set_ttl``: Set TTL value with specificed value - ``ttl_value {unsigned}``: The new TTL value to be set =20 +- ``set_mac_src``: set source MAC address + + - ``mac_addr {MAC-48}``: new source MAC address + +- ``set_mac_dst``: set destination MAC address + + - ``mac_addr {MAC-48}``: new destination MAC address + Destroying flow rules ~~~~~~~~~~~~~~~~~~~~~ =20 --=20 2.17.1