From patchwork Tue Aug 7 14:20:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiaoyu Min X-Patchwork-Id: 43617 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 45700100C; Tue, 7 Aug 2018 16:20:57 +0200 (CEST) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30067.outbound.protection.outlook.com [40.107.3.67]) by dpdk.org (Postfix) with ESMTP id F3A6FFEB for ; Tue, 7 Aug 2018 16:20:54 +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=a9zZWPtazFaQVVHSXf+RtZmyFCDXbMmLUwDtVISgUiI=; b=QoO9a5ftcPslZ3O/DNIfcD/LUlHDaH4ZF56yjy5/2RmzQi93HRi5DZrN0nXEkZAMvt8TNgcYwHddPrh0705DH6PBdoALvxkBA0c8HewHXZ79M3E1SiKr4yguX+8kLnRKl41yiQZO55tumYw0pawoRO4yjch7jEf+ekCEU/vuacY= Received: from DB6PR0501MB2023.eurprd05.prod.outlook.com (10.168.9.17) by DB6PR0501MB2471.eurprd05.prod.outlook.com (10.168.73.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1017.15; Tue, 7 Aug 2018 14:20:53 +0000 Received: from DB6PR0501MB2023.eurprd05.prod.outlook.com ([fe80::dc91:8499:ae2f:4b7c]) by DB6PR0501MB2023.eurprd05.prod.outlook.com ([fe80::dc91:8499:ae2f:4b7c%6]) with mapi id 15.20.1017.019; Tue, 7 Aug 2018 14:20:53 +0000 From: Jack Min To: "dev@dpdk.org" CC: Thomas Monjalon , Adrien Mazarguil , "Xueming(Steven) Li" , Shahaf Shuler Thread-Topic: [RFC] ethdev: add generic TTL rewrite actions Thread-Index: AdQuWcwwxiMrgUgvTASgFLLn/iXqrQ== Date: Tue, 7 Aug 2018 14:20:53 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=jackmin@mellanox.com; x-originating-ip: [58.34.205.212] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB6PR0501MB2471; 6:c1vYUQdIez4t7Qv7nCXkFXmyQ5JFbvELxX+/RKsyvxtSWPeEj33TZZVmlp4Yv+MFtuhlUL3R1dQxBDE6n/8exAORtQvzyHd6J1KQtI4C8+9tyf8UcFYbRNirPiXe3IsbcSMTld+psP2tQc4JLAWBC+wC++A7AUv2qPDYBoYBpLGSzUsxnNtFp3MKn4ja4TyyI1feurVBF7tt+axHIDU4UFgIXORizwoQe7xJpKHTRFWf4VQmPmzzguk61SlU3eX7R1WOZW4+66UC+1Sfzi49wiGczQ67MKCfCflo/EeSHVvAb5id6ziOfZerXsanNHbJ6WH3thBBWLpEjsaxcedgTXaEUFpp+u0ShzHdbwSCocUBcEzCyNqT3epBKnEn6PQ02zG0z/1r2hcu8u/Gjs+tvHnAUdqmiOwNtGQyyQOyMs7B3m0WzuCiFSZicXPDn51hkt4pKPNhiwAIxYnmDzLf3Q==; 5:Cj0YK0IMtDOj/9obUe0PB4ApH81pIQRcVoPMbl7ONQJ6gyMw9wwGmosKvNkWehvgcPf0S+U7rqyMRY6Unp6UmHF3cHCNFcHdZYojExHPLj+EzPq72M8rzdgyQIr1uJZzC726CRIS0yHQzOkqqVpaSAN6yjLC4mtPqafpmP0VV98=; 7:KdqurX3cWspW5y0W0FjbScyD66Vv++qg3kEe0cnWZt9O2k9K2dBsMlsT+inw8cy8Ex6251Pn4tLr2KfdpyyH+scY0za0S6xRK8g0IuvD78Q0/SALcdI5UuFIewfdYmttI44Ee4LETZfqTmimQsaGFHc6yYB2qUMfjvxx21ZVffqvd7WkwAiw8GUN6D+5thkiFAAD6T5jXId7XGGMxtnF5hd1x6q2oqKedxVVRCrRvupXWJo4JNtHh0/t0FPLXrQY x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: e4a7da78-f000-4002-557e-08d5fc70fc0f x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DB6PR0501MB2471; x-ms-traffictypediagnostic: DB6PR0501MB2471: 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)(3231311)(944501410)(52105095)(3002001)(93006095)(93001095)(10201501046)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:DB6PR0501MB2471; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0501MB2471; x-forefront-prvs: 0757EEBDCA x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(396003)(136003)(366004)(346002)(376002)(189003)(199004)(105586002)(3846002)(6116002)(66066001)(478600001)(2906002)(106356001)(8936002)(68736007)(33656002)(14454004)(2351001)(5250100002)(2501003)(25786009)(7736002)(99286004)(81166006)(1730700003)(81156014)(5660300001)(14444005)(5640700003)(4326008)(26005)(476003)(256004)(186003)(316002)(6506007)(102836004)(86362001)(97736004)(74316002)(305945005)(55016002)(6436002)(9686003)(53936002)(486006)(6916009)(107886003)(2900100001)(8676002)(54906003)(7696005)(41533002); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0501MB2471; H:DB6PR0501MB2023.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: RRrLSpjUs5aP+V0kpfFjfviGB8OQZCUwUC1Ar2CiLLaw3Q7GAjZfA1fWqzByDpO/YF+mxmvhzbBTqTnlBKHe7rX6CwISq15bakKspPwkQfAiQT86K2e/ctUIZKu3NXgsJvjUy4jYu/5nNblR7+5akq3kriayurHzsnJAYMgfrnxlCkBvngxMGVPtYvUh0sW4X5zBWzcccG+fxUC8pXvPVMjGY0EUVRvDYzjFAy2sMtSPAtVDhx/CFNTcKndw7CKF/09S82TbtMIwUvezThazzPaU+dDKPSAQhRDWgGmZBnIkWFro/nfgVZDkDRYfwpBYfelSOhK8RfOItgo8of3RWMLB0X7xEu+0DNX0uKYsmSY= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: e4a7da78-f000-4002-557e-08d5fc70fc0f X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Aug 2018 14:20:53.6051 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0501MB2471 Subject: [dpdk-dev] [RFC] ethdev: add generic TTL 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" There is a need to rewrite TTL by decrease or just set it directly, and it's not necessary to check if the final result is zero or not. This is slightly different from the one defined by openflow and make the actions more generic. Signed-off-by: Xiaoyu Min --- lib/librte_ethdev/rte_flow.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h index f8ba71cdb..fbf88f9fd 100644 --- a/lib/librte_ethdev/rte_flow.h +++ b/lib/librte_ethdev/rte_flow.h @@ -1505,6 +1505,26 @@ enum rte_flow_action_type { * error. */ RTE_FLOW_ACTION_TYPE_NVGRE_DECAP, + + /** + * Decrease TTL value directly + * + * If flow pattern doesn't define a valid RTE_FLOW_ITEM_TYPE_IPV4, or + * RTE_FLOW_ITEM_TYPE_IPV6, the PMD should return a + * RTE_FLOW_ERROR_TYPE_ACTION error. + */ + RTE_FLOW_ACTION_TYPE_DEC_TTL, + + /** + * Set TTL value + * + * If flow pattern doesn't define a valid RTE_FLOW_ITEM_TYPE_IPV4, or + * RTE_FLOW_ITEM_TYPE_IPV6, the PMD should return a + * RTE_FLOW_ERROR_TYPE_ACTION error. + * + * See struct rte_flow_action_set_ttl + */ + RTE_FLOW_ACTION_TYPE_SET_TTL, }; /** @@ -1868,6 +1888,20 @@ struct rte_flow_action_nvgre_encap { struct rte_flow_item *definition; }; +/** + * @warning + * @b EXPERIMENTAL: this structure may change without prior notice + * + * RTE_FLOW_ACTION_TYPE_SET_TTL + * + * Set the TTL value directly for IPv4 or IPv6 + * The RTE_FLOW_ITEM_TYPE_IPV4 or RTE_FLOW_ITEM_TYPE_IPV6 + * must be present in pattern + */ +struct rte_flow_action_set_ttl { + uint8_t ttl_value; +} + /* * Definition of a single action. *