From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30045.outbound.protection.outlook.com [40.107.3.45]) by dpdk.org (Postfix) with ESMTP id 5E5121B3AA for ; Wed, 3 Oct 2018 22:08:28 +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=/Ka9S2QKSLss0UELYdopWTFWPgUMx3BZz3if+NHoMx8=; b=wned8WJ+AMhBPV1QUDkdN5FmqyL7ojMOANWKWUw+aS9sNsBwABz8iTTkWcLYLRX1RlYr1OVJwOIuKuJEtMxTrGCqt8ni4T/vT27jK65E7JVAis3jlgBqamyFyPB5bN+Tmn0JYmAqPsshIyGFvj7w6xke0hNGLl9a5yWtB1icxSw= Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com (52.134.72.27) by DB3PR0502MB4076.eurprd05.prod.outlook.com (52.134.66.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1164.22; Wed, 3 Oct 2018 20:08:27 +0000 Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::1cb0:661b:ecab:6045]) by DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::1cb0:661b:ecab:6045%2]) with mapi id 15.20.1185.024; Wed, 3 Oct 2018 20:08:27 +0000 From: Yongseok Koh To: Jack Min CC: "ferruh.yigit@intel.com" , Adrien Mazarguil , John McNamara , Marko Kovacevic , Thomas Monjalon , Andrew Rybchenko , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH 1/3] ethdev: add generic MAC address rewrite actions Thread-Index: AQHUW1TYLG1QQkzJlEyTgp/w2Ed0OQ== Date: Wed, 3 Oct 2018 20:08:26 +0000 Message-ID: <20181003200800.GD26206@mtidpdk.mti.labs.mlnx> References: <20180925150340.25378-1-jackmin@mellanox.com> <20180925150340.25378-2-jackmin@mellanox.com> In-Reply-To: <20180925150340.25378-2-jackmin@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BYAPR02CA0013.namprd02.prod.outlook.com (2603:10b6:a02:ee::26) To DB3PR0502MB3980.eurprd05.prod.outlook.com (2603:10a6:8:10::27) authentication-results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [209.116.155.178] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB3PR0502MB4076; 6:rvz+05bTZidT5JqknDwprLs3Enmtlw9ppjweyIoc14xQjqKUrSgLCw7gJ7etVSbOb8s0ngjFZdaetejzjVqP90F2x+BZP1yl6lx+Pj+wUa4pSoKpYr/+NeP3nTTecd4abikEdkt/CRQWpiwXotpnVgVllyoLjebwNER+wnmLGRjfS/MjCLSCPnTupdLapJqWwlEottAvfkWbPWZ18QhIEFhWaqh6a7QzL5r1jvxRQWqjY3D2U4X1ZZAxdbbTY1CS7cogIpC2esAAr/F/NW6hwxVKwj3un5w0U6EL4CTUcDRUYPgBeMpJEloP7XjIGHJEL9kuCGpLFH+H6dzxfz78bs4nzmtjPu3OT460gtAfsaUnzJyldIgX01nv73xRGaBj1bUDP5y8jjYXtUAGpnV78dQJJQt+1EkYUC77n244w0zoHGcIjImDL5las/2LezzdDvluvTG0AvBChM9s4Kj/Eg==; 5:xFk3EyBhv54gmbKHj8801hkP6g0z2VcIcU5onsMvg8lUQz0b3m09AP2CVVrEtEhYDrxK4XZlnjBeZ5N2FQoCM5Ey/L2uvBWYlpQXbzor0I+6CJaC0sI4Q4HoroH+RpSXrBKnWXzocdHw5A+qzSMSMBHCKiTSpFMMxXP1neOT7O0=; 7:MmIdJmw9AMOj+y8Dezo6DRkTZwjhY7AeH5ryt53RgVqGQLuxBHUF0FMus+7cjzUDzVms0mncsie4bzL6ZVtExt74MVrgagjIbcnd7V9glHGMn7S1I5nobttqbROAB4SnGREwRFTnEfZWAMrXWEHJzaet0m35rVsuK5MNLCnipm9EqzTBtmtOhcyZN8rNnl4haZNtp0DXS5Ag/ov2tmFNTsuNEAjDhoxtVEcwb7ec/0DqeGWqE2BvXMiUXyJCg5tI x-ms-office365-filtering-correlation-id: 4deefad4-6696-4172-f2a1-08d6296bfac1 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:DB3PR0502MB4076; x-ms-traffictypediagnostic: DB3PR0502MB4076: 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)(3002001)(10201501046)(3231355)(944501410)(52105095)(93006095)(93001095)(6055026)(149066)(150057)(6041310)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(201708071742011)(7699051); SRVR:DB3PR0502MB4076; BCL:0; PCL:0; RULEID:; SRVR:DB3PR0502MB4076; x-forefront-prvs: 0814A2C7A3 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(366004)(346002)(376002)(396003)(39860400002)(199004)(189003)(26005)(71200400001)(33896004)(71190400001)(386003)(99286004)(25786009)(6506007)(106356001)(6246003)(54906003)(4326008)(2900100001)(186003)(316002)(6862004)(7736002)(33656002)(86362001)(1076002)(105586002)(9686003)(486006)(229853002)(256004)(11346002)(476003)(446003)(81156014)(53936002)(6486002)(305945005)(6512007)(66066001)(14444005)(6116002)(6636002)(8936002)(81166006)(5660300001)(14454004)(3846002)(2906002)(102836004)(97736004)(8676002)(478600001)(68736007)(52116002)(6436002)(5250100002)(76176011)(41533002); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR0502MB4076; H:DB3PR0502MB3980.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: vrxk5iu+DM1Ifhcr6WSirbE+R7AZW0kuZOMW1AQAW+x6v51p6WBPK+M3gsYlIYde0UI8osf8VubZH0yEG3edCkjojz80iLiDaYNKC1Vc5pzk0npq7EVxk5IKH1OYLXTWVKjb9ltUx11Q2YffmyPZGRzqb4nTvXZNr+w6ELYqVrrZVB+I681wG9k48KPwLUwxpKHnjo/y5Cp4WferYPYsgYwD6XBF32JY99U5IKJJu9IfeqhbrhStJWC+OFDmpw0ReZUlF60/KZr8MuieFFkYqnKGrS99VoEPpv4Eu+yJThZHYf9epe8lsPbX9KLky8uv41Y4wqUA7YflZ5LP+eDcBfQRytQArg9+8g/Al8AYqrM= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-ID: <40B0B2F177647249B358205D3B920FD8@eurprd05.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4deefad4-6696-4172-f2a1-08d6296bfac1 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Oct 2018 20:08:27.0892 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0502MB4076 Subject: Re: [dpdk-dev] [PATCH 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, 03 Oct 2018 20:08:28 -0000 On Tue, Sep 25, 2018 at 11:03:38PM +0800, Xiaoyu Min wrote: > rte_flow actions: > - RTE_FLOW_ACTION_TYPE_SET_MAC_SRC > - RTE_FLOW_ACTION_TYPE_SET_MAC_DST > added in order to offload to NIC >=20 > The rte_flow_itme_eth must be present in rte_flow pattern >=20 > Signed-off-by: Xiaoyu Min > --- Acked-by: Yongseok Koh Thanks > 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(+) >=20 > diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/r= te_flow.rst > index 3aec0834b..5ecf154b6 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 631f80efd..1f4b67603 100644 > --- a/lib/librte_ethdev/rte_flow.c > +++ b/lib/librte_ethdev/rte_flow.c > @@ -123,6 +123,8 @@ static const struct rte_flow_desc_data rte_flow_desc_= action[] =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 b41e37a31..19552902a 100644 > --- a/lib/librte_ethdev/rte_flow.h > +++ b/lib/librte_ethdev/rte_flow.h > @@ -1567,6 +1567,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 > /** > @@ -1986,6 +2006,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 >=20