From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0050.outbound.protection.outlook.com [104.47.0.50]) by dpdk.org (Postfix) with ESMTP id CBCE21B5C6 for ; Wed, 10 Oct 2018 15:11:39 +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=7wsv6SNrcwfBx6ObxeacHn/Qa7F+3x9aDGYVXs6U29M=; b=LXaLTTdK0JTSI53nFGHpCF53Rv2SfwiJbgfU5X++w7obmUep68CSNX/CXYymOzqmHIx3hNivIRSNPHilkkD7nK9Ky4wDejxL7ubUQJjHjpbzdQBu8y3eY39+rVOeykcGTapdM/NWbRPNe6BhOhlx0h/O3km9KT4VTNabtp722Ek= 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:38 +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:38 +0000 From: Jack Min To: Adrien Mazarguil , John McNamara , Marko Kovacevic , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko CC: "dev@dpdk.org" Thread-Topic: [PATCH v2 1/3] ethdev: add generic MAC address rewrite actions Thread-Index: AQHUYJrHOASNX2VnEU67r5+H000spA== Date: Wed, 10 Oct 2018 13:11:38 +0000 Message-ID: <20181010131108.24167-2-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:WmuhsPgejLhiE0ynLHPmQ9KuemQjYeKKS/HX17W0eKHM2m04EplLnepz0rf85HJLaewM6uGWGhVWnwYCaRbcD+en1g4rIpW/oghqWd7U5DtXhXFTupxt+4KKrbM07dcpGMTL/8u8vEcKnXxgSobUownwP1uaT4Rviavexprp285fm59//aFLTuBxMKRD3mMSEtkMasbJYP3sICditGz7CvsscmBxET7lcXNUCFa3YL9iKCioZnfn3g/K6yTEY2JQ8Vu49WGNJtkF0VCCpFJMRp/0wBscxbgaq0SFFMxsiTYnzgmMq0QoZ1/G2TfWKoJsvOaRbUdY16Zm0gG1OupLvwAqwtg5dXvOIeWfdpKZ4lvdoo6mBIp2RNyXXudlsPt0l5/mjHJeSsS1ILHpzLOqbkVXMdzmyIZXRnM7tGYOSrUE+aBjh4OyAS+5F6GBqfwZrRXR+ZdEV4AdMGyqjp7JbA==; 5:fImspnlBCJsRjwMQBbOMFTEUh6nz6T7awAlr92uWLeMRDIwYgvv2QzIVb/T9A8kKIrFVzqY3p5rcVv+OIwdlaUPk8gmmFBdyqo94Fg9P205BmQMaquFywaq1+H6m1adI+piglXu2jI/X2j/Er9N4zSSQ3eVBkucfYFItMpXAFVM=; 7:EAuLJU0Onz5vFOMIT/ffFru++vcYgo1CUF0Ipbvxbj96lpKiq3SauGWVidRgBX/OwABXC50Im6iyPpw0LZ5TZWxitBilDpHIeXYNEqEYkvouVxi9Br4jTIB0JPNbcN6Y36QoSGUCfr6CaGY4HeaPo3jCk/K/+1oZzXMkOxZ2YT045iOluUH3WIqa81adHZJ/qbbvo1SFhVCVrfqEDOPoYGMxScGoynUrCKiYJQbZStapFJXAEcki0Xy0aeuye8e8 x-ms-office365-filtering-correlation-id: 67aed93e-f765-450e-5605-08d62eb1e970 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)(575784001)(86362001)(52116002)(186003)(14444005)(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)(41533002); 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: I0iZD6+dT+/ZZWTHulZkhTHK3Pov82tLhe9h8QcWVH7THnTdlDPXillEV810T+oBiIXRjafLR0YzmXhPghyV4aRZ+ZJgBMByG6M7THW/xvK9Vw4t8ij1eMVnoysIujL7oO6UhZEW8evSmqLjTAzXmBdv85xfTiKxhZjl/k0+vNs4gbCdiPOrSQaO+PX2nCb72H17CqSkP3fHWjweE9WAmmbF+OiiPKwfsG25rvombNKY2fN053s1uYBMqegwDYjkARjCa0R2/qg1FuSfHkrC2/GtXeO3EwstwnYgPFEgqbKDW+sU/fuc381YWnz6hT58INFb3ROqaONjV+YLLZGaM1TuspO3xDBNoRBIekHm0Ps= 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: 67aed93e-f765-450e-5605-08d62eb1e970 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2018 13:11:38.4421 (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 1/3] ethdev: add generic MAC address rewrite actions 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:40 -0000 rte_flow actions: - RTE_FLOW_ACTION_TYPE_SET_MAC_SRC - RTE_FLOW_ACTION_TYPE_SET_MAC_DST added in order to offload to NIC The rte_flow_itme_eth must be present in rte_flow pattern Signed-off-by: Xiaoyu Min Acked-by: Yongseok Koh Acked-by: Andrew Rybchenko --- doc/guides/prog_guide/rte_flow.rst | 30 ++++++++++++++++++++++++++++++ lib/librte_ethdev/rte_flow.c | 2 ++ lib/librte_ethdev/rte_flow.h | 29 +++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+) diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte= _flow.rst index e8df1e488..d0f2d8b54 100644 --- a/doc/guides/prog_guide/rte_flow.rst +++ b/doc/guides/prog_guide/rte_flow.rst @@ -2196,6 +2196,36 @@ Assigns a new TTL value. | ``ttl_value`` | new TTL value | +---------------+--------------------+ =20 +Action: ``SET_MAC_SRC`` +^^^^^^^^^^^^^^^^^^^^^^^ + +Set source MAC address + +.. _table_rte_flow_action_set_mac_src: + +.. table:: SET_MAC_SRC + + +--------------+---------------+ + | Field | Value | + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D+ + | ``mac_addr`` | MAC address | + +--------------+---------------+ + +Action: ``SET_MAC_DST`` +^^^^^^^^^^^^^^^^^^^^^^^ + +Set source MAC address + +.. _table_rte_flow_action_set_mac_dst: + +.. table:: SET_MAC_DST + + +--------------+---------------+ + | Field | Value | + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D+ + | ``mac_addr`` | MAC address | + +--------------+---------------+ + Negative types ~~~~~~~~~~~~~~ =20 diff --git a/lib/librte_ethdev/rte_flow.c b/lib/librte_ethdev/rte_flow.c index 458a05994..810069935 100644 --- a/lib/librte_ethdev/rte_flow.c +++ b/lib/librte_ethdev/rte_flow.c @@ -137,6 +137,8 @@ static const struct rte_flow_desc_data rte_flow_desc_ac= tion[] =3D { sizeof(struct rte_flow_action_set_tp)), MK_FLOW_ACTION(DEC_TTL, 0), MK_FLOW_ACTION(SET_TTL, sizeof(struct rte_flow_action_set_ttl)), + MK_FLOW_ACTION(SET_MAC_SRC, sizeof(struct rte_flow_action_set_mac)), + MK_FLOW_ACTION(SET_MAC_DST, sizeof(struct rte_flow_action_set_mac)), }; =20 static int diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h index bb07eba9d..4193f4e05 100644 --- a/lib/librte_ethdev/rte_flow.h +++ b/lib/librte_ethdev/rte_flow.h @@ -1568,6 +1568,26 @@ enum rte_flow_action_type { * See struct rte_flow_action_set_ttl */ RTE_FLOW_ACTION_TYPE_SET_TTL, + + /** + * Set source MAC address from matched flow. + * + * If flow pattern does not define a valid RTE_FLOW_ITEM_TYPE_ETH, + * the PMD should return a RTE_FLOW_ERROR_TYPE_ACTION error. + * + * See struct rte_flow_action_set_mac. + */ + RTE_FLOW_ACTION_TYPE_SET_MAC_SRC, + + /** + * Set destination MAC address from matched flow. + * + * If flow pattern does not define a valid RTE_FLOW_ITEM_TYPE_ETH, + * the PMD should return a RTE_FLOW_ERROR_TYPE_ACTION error. + * + * See struct rte_flow_action_set_mac. + */ + RTE_FLOW_ACTION_TYPE_SET_MAC_DST, }; =20 /** @@ -1987,6 +2007,15 @@ struct rte_flow_action_set_ttl { uint8_t ttl_value; }; =20 +/** + * RTE_FLOW_ACTION_TYPE_SET_MAC + * + * Set MAC address from the matched flow + */ +struct rte_flow_action_set_mac { + uint8_t mac_addr[ETHER_ADDR_LEN]; +}; + /* * Definition of a single action. * --=20 2.17.1