From patchwork Wed Sep 20 11:34:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 131722 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1242C425EF; Wed, 20 Sep 2023 13:36:53 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B57EB42DD3; Wed, 20 Sep 2023 13:35:45 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2097.outbound.protection.outlook.com [40.107.244.97]) by mails.dpdk.org (Postfix) with ESMTP id 043A942DAC for ; Wed, 20 Sep 2023 13:35:42 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WAsl7jD78ajWR/FyzYyCvfNRRccB2mvcrChp1nxjEKI1unK6XTnFrsGElbCvQkObi7iuTYRiLuTDXUh+jmLNyVlnleAla7nNlcqLLECRrEZHYeJWnTPKgYUfF/CM2XqU3/mJEssjiSLaDu1ZMtHbEM9RULiuUqHE0/I2IyZhIq77S7jYnE8D3pLAKE75eTfKfcRh81IQI3h1J2T9H+uuGMXwnexjTBIWMr4qXN9w4X5TjKrs37ZzpYUxMw/mT9g5zVNrPJ4Yw9y8bCVVFEf944I9orH7QLDUkHpLXZsBJwYSQIxdeJhm5diGj3XfZ2aGN5v98oTkmwUU8wh9mNYjqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Gki1Wi7RnDLcQvxJmzZu175f9dNe4gZGjQcOD2JPsHQ=; b=HVEACwTmYyc1M0+D7+JFbywV046388s1/BoBKiwb2COTcVVrW5ngkV4RXEhXxVH2V1lRuVzLmeL0ySa2++Qglhx75ww5ji4BUBmbkf4J0VLbbidX4tOCPOt0i62aZMhHGFEQRdzZv4rbsFG17hbPIYwx8GQ1gadBd1MdunR2rdRsDwVpgaFHcb+FRO9aRB1epQrbqXfAydPRSOmLEi9OenrtOCy8aq0oHU23/xTjmnaJMKXUI1WZ2OFpJaDaO/XVDw/4W8aS26Cp6PjfJPaA/uDF4TSiV/2Wmomox1a2gChPv9UsJDKWcbMj1jd3vib00gvaBvUD4KChh4CY5w+/ow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Gki1Wi7RnDLcQvxJmzZu175f9dNe4gZGjQcOD2JPsHQ=; b=eF2asksBd3Sque+EoZ8AX8AKfypcudXM7MutGAeGiuc19M57Nk5vIki5d82uf1Dk2knFaQNQ4lBvXIdzN+rdGZgi2ZNshYnMOYgfPusKy6oIb7qD9B4k+gxkabvmq7PWiflUnTe/UZSTyF3MxNjt3v9VFa/s5CRJX6TpBNSkXeg= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by MN2PR13MB4039.namprd13.prod.outlook.com (2603:10b6:208:269::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.28; Wed, 20 Sep 2023 11:35:38 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::7a1c:2887:348a:84bd]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::7a1c:2887:348a:84bd%6]) with mapi id 15.20.6792.026; Wed, 20 Sep 2023 11:35:38 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Chaoyong He Subject: [PATCH 10/13] net/nfp: improve modularazation of flow module Date: Wed, 20 Sep 2023 19:34:51 +0800 Message-Id: <20230920113454.739356-11-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230920113454.739356-1-chaoyong.he@corigine.com> References: <20230920113454.739356-1-chaoyong.he@corigine.com> X-ClientProxiedBy: SL2P216CA0113.KORP216.PROD.OUTLOOK.COM (2603:1096:101::10) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|MN2PR13MB4039:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a95a9d4-21a0-4e8d-ddc8-08dbb9cdb63c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w4WS113oBIjrFGz7spdbTrRqb0523uJObMVGmhvUVERbfY7K9QLEivdvubVTyWPtlDxSXhBc7m6nInjb/pY+ZifxwjVzKPLvR8zSE9U4YCuy3zDxj4NmCgC6Oy5p4x8if66j/UrSe2Opqv8rxyHctY46BzSb0luxs9fybsl1qlneh+aM/TP1vvHTH4lR44PjPcA7bYncqsjhBNSeo11yq9lHVZ/YrsTK5p8n/j2PeSggwwjlq348I2QvepQXweDmWNvjR2Tqm5I2LpLasUxPWFE88r5Vj498wH71xrBJngk9kG+a2czXkqKNbDqYsX2hq31U6s+rDC+fuoCZmsEM7CjVFDD2WIU+WwkDblsLnfqLW2qJeGJAfmiSmal/ygR/iU9jEQ3nXWMFPPyrPfqSY8+UOtqZ+sa7w5H65L9dIj8E1HpwKeCZhp/tsWnaZZK/eIm/EzciloMkNSby/btIU0srDRpTA2ivUXRBXTEr9mb+0dfbzRaI7/9V1YCQQm8gN0eOhkFudn32FuPRqwbOUiBq4Q8j9027Rv37uNGyupUd5R4S0MmZxlkuJZf/sMWhJD6t7bHjSZu97Wkqm+orNi3Ra1V/dfgTPVHfMQNhGVmLRZ6UKc/5lGZKRvVlyvg1hch7v+BMA978kXsMIYXTUeTFzpkfcFSh7l6JGIXWiyw= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(346002)(396003)(366004)(136003)(39830400003)(186009)(1800799009)(451199024)(6666004)(6512007)(52116002)(6506007)(6486002)(86362001)(41300700001)(66476007)(6916009)(66946007)(66556008)(316002)(478600001)(38100700002)(38350700002)(107886003)(8676002)(1076003)(8936002)(4326008)(36756003)(26005)(5660300002)(44832011)(83380400001)(2616005)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: wA5kaB5B2nb0mOJk2AlfYT68pDHTNfmn9AcFx4qhzMSHSI/vbHARh2artrwlOSRdUuL4V6MMId8k1CZb7gxzWLQv4izVS+dVHSAJ9estFC6S5fOCLb7n73+6f/WcBxxPphxTZArzusrkKeidtdk70SKFXc84bcRHIX9SdLSiIWTKiRLXb89ekEvOSOkmVQybJOyQSJX06U7iO5AyRLEA9SyAktN2nAcfmQ4fx4rL1aash6T9LTJAivLgnbROPXcicegg2jM5bmy+Iwk8UWycrWeb8UpHUa4hgbftAaKKxSg2EzjGX/kvbK1g8O7HO55PHlO2rDax0vOJ+soPfvJkTW1NPHVl4IKTXS5TpENT2Hln4nou+e8pf4mXNC+0rz04CMDJeqYxjRxNMGGCTQBkDlI0phYSQiU7kIa0+hO7P7xF9YArus9oaNLcK9URAhL0g/scOdYGsDaD5hn3V74wI3Z1tcjv2Q+4vAqql1lwtDTiLUX+nveN+ECsAlMNsRsSVdfRbkhyZkJoD57Om4NvwWVUloAeq5xgipPZMbfvWfta/9rtB6UFQqu6eAw7K1tpL4gmmMhHnIKIX2cfRYiVEoViYiteAVW8L+YxmbZM6Ebe4N1qIAFX3tTzmtFzVL5oGC21T1LUwcyLTKBxUNmQlhk1dlrHdf2SqCz1/lqzybnPcuzI1mrHUxi8YnYuiHkKE10EraN+G4yMLswmR6RYQihG/bzcxJvJ14zBq0904qUEkq1zb1gDGf/ROOwlwDcDHnVvYWzxKAEwZQINbmC6xTSHjkw9Fw3QRtp7YfltPbcwt7muefLLSXIXkSOq5P5gTR/cV/tUpGw93dpZExrPV81MZGsCZl0w1s3ps9OG0Ne3An2F64iqBT9g4N8pNciFNBe7Nrk974ggkR6pLmjdz78uwsLp/USWMviXnQXpQNY9Kv3qmjqxviPB2w3Ot3qrJUnjnJudNReCEXXQAxe+fx+0BlbL+yhwWv2OFgAL2ow8L3pYq4v+6ISXYX9Z0OzM3g7uqklfE1dQz7GOj5sZn4ssVaobDzTWN34CgT5M+5fvdPNvAyY3/7XZKwpHqqnYX8yCSDA2HnmLKXRo2GzbtlwOQjSgWblz6zDZjpDgJe/GZeMmnIKiGbf2OMi+QDBrn/9tDZ+f845SPmTKd+HoBJlAGywhUxH0E/rf8h2rM173pTfcssgi3TriLw+zjeQymxkZbJAWHEW7E2SBxfL4rko00Ej6gFtVoujaLeVvWqTTPq6T19xTMFf5k5CdZE5YJuwUzHi7tY7rcXruqB+JXcvLbBBqOSn5zufUdsRm0ZwBUrAc+3FQw4kYZouucEPeMDjjNmdVuVR7PuUDR1Hh+zzm91iD5ylCS0Jt+1d9NMSHLpVf5GK5cUcQVhaIp1D7VAEBGZiJcYIX9kM97QbttYz25Rl7RiRBN8LtH5AHzu6ns3ryvSf3XneNR4hsI1ZaBjOMjNXzI4q73FauQmx+VlqdPXPo7izF8IvTmB34jnrWGTtfechs1HLVmxmiEye1w1QCdmsOSqt24lYklNMk2c+Vj+TChHZe3qe0pUEeTMcBcvWrA9TkTuTyZTH5j2YWywAoaidBRsMpW1fcZx/TaQ== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2a95a9d4-21a0-4e8d-ddc8-08dbb9cdb63c X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2023 11:35:38.2155 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hFWJDUBsY0i97f08B//x6RMFnyWDVnoRVlK1g79F/ZGy+Jla2CmqTOdalOiQzNJmfop4kXU6EdEgn+xT+B9Yp/FCxUpUGscdvSiTQDrNFZA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR13MB4039 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Make the header file self-containing by adding the correct include statement. Try to keep the API small by move the logic which need not expose from header file to source file verbatim and remove the unused macro. Also remove the unneeded header file include statement of source file. Signed-off-by: Chaoyong He --- drivers/net/nfp/nfp_flow.c | 88 +++++++++++++++++++++++++++++++++----- drivers/net/nfp/nfp_flow.h | 78 +-------------------------------- 2 files changed, 79 insertions(+), 87 deletions(-) diff --git a/drivers/net/nfp/nfp_flow.c b/drivers/net/nfp/nfp_flow.c index 9847eb0615..ff03bea6ce 100644 --- a/drivers/net/nfp/nfp_flow.c +++ b/drivers/net/nfp/nfp_flow.c @@ -3,24 +3,92 @@ * All rights reserved. */ +#include "nfp_flow.h" + #include #include #include -#include #include -#include "nfp_common.h" -#include "nfp_ctrl.h" -#include "nfp_flow.h" -#include "nfp_logs.h" -#include "nfp_rxtx.h" -#include "nfp_mtr.h" -#include "flower/nfp_flower.h" #include "flower/nfp_flower_cmsg.h" -#include "flower/nfp_flower_ctrl.h" #include "flower/nfp_flower_representor.h" -#include "nfpcore/nfp_mip.h" #include "nfpcore/nfp_rtsym.h" +#include "nfp_logs.h" +#include "nfp_mtr.h" + +#define NFP_FLOWER_LAYER_EXT_META RTE_BIT32(0) +#define NFP_FLOWER_LAYER_PORT RTE_BIT32(1) +#define NFP_FLOWER_LAYER_MAC RTE_BIT32(2) +#define NFP_FLOWER_LAYER_TP RTE_BIT32(3) +#define NFP_FLOWER_LAYER_IPV4 RTE_BIT32(4) +#define NFP_FLOWER_LAYER_IPV6 RTE_BIT32(5) +#define NFP_FLOWER_LAYER_CT RTE_BIT32(6) +#define NFP_FLOWER_LAYER_VXLAN RTE_BIT32(7) + +#define NFP_FLOWER_LAYER2_GRE RTE_BIT32(0) +#define NFP_FLOWER_LAYER2_QINQ RTE_BIT32(4) +#define NFP_FLOWER_LAYER2_GENEVE RTE_BIT32(5) +#define NFP_FLOWER_LAYER2_GENEVE_OP RTE_BIT32(6) +#define NFP_FLOWER_LAYER2_TUN_IPV6 RTE_BIT32(7) + +/* Compressed HW representation of TCP Flags */ +#define NFP_FL_TCP_FLAG_FIN RTE_BIT32(0) +#define NFP_FL_TCP_FLAG_SYN RTE_BIT32(1) +#define NFP_FL_TCP_FLAG_RST RTE_BIT32(2) +#define NFP_FL_TCP_FLAG_PSH RTE_BIT32(3) +#define NFP_FL_TCP_FLAG_URG RTE_BIT32(4) + +#define NFP_FL_META_FLAG_MANAGE_MASK RTE_BIT32(7) + +#define NFP_FLOWER_MASK_VLAN_CFI RTE_BIT32(12) + +#define NFP_MASK_TABLE_ENTRIES 1024 + +/* The maximum action list size (in bytes) supported by the NFP. */ +#define NFP_FL_MAX_A_SIZ 1216 + +#define NFP_FL_SC_ACT_DROP 0x80000000 +#define NFP_FL_SC_ACT_USER 0x7D000000 +#define NFP_FL_SC_ACT_POPV 0x6A000000 +#define NFP_FL_SC_ACT_NULL 0x00000000 + +/* GRE Tunnel flags */ +#define NFP_FL_GRE_FLAG_KEY (1 << 2) + +/* Action opcodes */ +#define NFP_FL_ACTION_OPCODE_OUTPUT 0 +#define NFP_FL_ACTION_OPCODE_PUSH_VLAN 1 +#define NFP_FL_ACTION_OPCODE_POP_VLAN 2 +#define NFP_FL_ACTION_OPCODE_PUSH_MPLS 3 +#define NFP_FL_ACTION_OPCODE_POP_MPLS 4 +#define NFP_FL_ACTION_OPCODE_USERSPACE 5 +#define NFP_FL_ACTION_OPCODE_SET_TUNNEL 6 +#define NFP_FL_ACTION_OPCODE_SET_ETHERNET 7 +#define NFP_FL_ACTION_OPCODE_SET_MPLS 8 +#define NFP_FL_ACTION_OPCODE_SET_IPV4_ADDRS 9 +#define NFP_FL_ACTION_OPCODE_SET_IPV4_TTL_TOS 10 +#define NFP_FL_ACTION_OPCODE_SET_IPV6_SRC 11 +#define NFP_FL_ACTION_OPCODE_SET_IPV6_DST 12 +#define NFP_FL_ACTION_OPCODE_SET_IPV6_TC_HL_FL 13 +#define NFP_FL_ACTION_OPCODE_SET_UDP 14 +#define NFP_FL_ACTION_OPCODE_SET_TCP 15 +#define NFP_FL_ACTION_OPCODE_PRE_LAG 16 +#define NFP_FL_ACTION_OPCODE_PRE_TUNNEL 17 +#define NFP_FL_ACTION_OPCODE_PRE_GS 18 +#define NFP_FL_ACTION_OPCODE_GS 19 +#define NFP_FL_ACTION_OPCODE_PUSH_NSH 20 +#define NFP_FL_ACTION_OPCODE_POP_NSH 21 +#define NFP_FL_ACTION_OPCODE_SET_QUEUE 22 +#define NFP_FL_ACTION_OPCODE_CONNTRACK 23 +#define NFP_FL_ACTION_OPCODE_METER 24 +#define NFP_FL_ACTION_OPCODE_CT_NAT_EXT 25 +#define NFP_FL_ACTION_OPCODE_PUSH_GENEVE 26 +#define NFP_FL_ACTION_OPCODE_NUM 32 + +#define NFP_FL_OUT_FLAGS_LAST RTE_BIT32(15) + +/* Tunnel ports */ +#define NFP_FL_PORT_TYPE_TUN 0x50000000 /* * Maximum number of items in struct rte_flow_action_vxlan_encap. diff --git a/drivers/net/nfp/nfp_flow.h b/drivers/net/nfp/nfp_flow.h index 414bd4573b..7ce7f62453 100644 --- a/drivers/net/nfp/nfp_flow.h +++ b/drivers/net/nfp/nfp_flow.h @@ -6,87 +6,11 @@ #ifndef _NFP_FLOW_H_ #define _NFP_FLOW_H_ -#include -#include -#include - -#define NFP_FLOWER_LAYER_EXT_META RTE_BIT32(0) -#define NFP_FLOWER_LAYER_PORT RTE_BIT32(1) -#define NFP_FLOWER_LAYER_MAC RTE_BIT32(2) -#define NFP_FLOWER_LAYER_TP RTE_BIT32(3) -#define NFP_FLOWER_LAYER_IPV4 RTE_BIT32(4) -#define NFP_FLOWER_LAYER_IPV6 RTE_BIT32(5) -#define NFP_FLOWER_LAYER_CT RTE_BIT32(6) -#define NFP_FLOWER_LAYER_VXLAN RTE_BIT32(7) - -#define NFP_FLOWER_LAYER2_GRE RTE_BIT32(0) -#define NFP_FLOWER_LAYER2_QINQ RTE_BIT32(4) -#define NFP_FLOWER_LAYER2_GENEVE RTE_BIT32(5) -#define NFP_FLOWER_LAYER2_GENEVE_OP RTE_BIT32(6) -#define NFP_FLOWER_LAYER2_TUN_IPV6 RTE_BIT32(7) - -/* Compressed HW representation of TCP Flags */ -#define NFP_FL_TCP_FLAG_FIN RTE_BIT32(0) -#define NFP_FL_TCP_FLAG_SYN RTE_BIT32(1) -#define NFP_FL_TCP_FLAG_RST RTE_BIT32(2) -#define NFP_FL_TCP_FLAG_PSH RTE_BIT32(3) -#define NFP_FL_TCP_FLAG_URG RTE_BIT32(4) - -#define NFP_FL_META_FLAG_MANAGE_MASK RTE_BIT32(7) - -#define NFP_FLOWER_MASK_VLAN_CFI RTE_BIT32(12) - -#define NFP_MASK_TABLE_ENTRIES 1024 - -/* The maximum action list size (in bytes) supported by the NFP. */ -#define NFP_FL_MAX_A_SIZ 1216 +#include "nfp_common.h" /* The firmware expects lengths in units of long words */ #define NFP_FL_LW_SIZ 2 -#define NFP_FL_SC_ACT_DROP 0x80000000 -#define NFP_FL_SC_ACT_USER 0x7D000000 -#define NFP_FL_SC_ACT_POPV 0x6A000000 -#define NFP_FL_SC_ACT_NULL 0x00000000 - -/* GRE Tunnel flags */ -#define NFP_FL_GRE_FLAG_KEY (1 << 2) - -/* Action opcodes */ -#define NFP_FL_ACTION_OPCODE_OUTPUT 0 -#define NFP_FL_ACTION_OPCODE_PUSH_VLAN 1 -#define NFP_FL_ACTION_OPCODE_POP_VLAN 2 -#define NFP_FL_ACTION_OPCODE_PUSH_MPLS 3 -#define NFP_FL_ACTION_OPCODE_POP_MPLS 4 -#define NFP_FL_ACTION_OPCODE_USERSPACE 5 -#define NFP_FL_ACTION_OPCODE_SET_TUNNEL 6 -#define NFP_FL_ACTION_OPCODE_SET_ETHERNET 7 -#define NFP_FL_ACTION_OPCODE_SET_MPLS 8 -#define NFP_FL_ACTION_OPCODE_SET_IPV4_ADDRS 9 -#define NFP_FL_ACTION_OPCODE_SET_IPV4_TTL_TOS 10 -#define NFP_FL_ACTION_OPCODE_SET_IPV6_SRC 11 -#define NFP_FL_ACTION_OPCODE_SET_IPV6_DST 12 -#define NFP_FL_ACTION_OPCODE_SET_IPV6_TC_HL_FL 13 -#define NFP_FL_ACTION_OPCODE_SET_UDP 14 -#define NFP_FL_ACTION_OPCODE_SET_TCP 15 -#define NFP_FL_ACTION_OPCODE_PRE_LAG 16 -#define NFP_FL_ACTION_OPCODE_PRE_TUNNEL 17 -#define NFP_FL_ACTION_OPCODE_PRE_GS 18 -#define NFP_FL_ACTION_OPCODE_GS 19 -#define NFP_FL_ACTION_OPCODE_PUSH_NSH 20 -#define NFP_FL_ACTION_OPCODE_POP_NSH 21 -#define NFP_FL_ACTION_OPCODE_SET_QUEUE 22 -#define NFP_FL_ACTION_OPCODE_CONNTRACK 23 -#define NFP_FL_ACTION_OPCODE_METER 24 -#define NFP_FL_ACTION_OPCODE_CT_NAT_EXT 25 -#define NFP_FL_ACTION_OPCODE_PUSH_GENEVE 26 -#define NFP_FL_ACTION_OPCODE_NUM 32 - -#define NFP_FL_OUT_FLAGS_LAST RTE_BIT32(15) - -/* Tunnel ports */ -#define NFP_FL_PORT_TYPE_TUN 0x50000000 - enum nfp_flower_tun_type { NFP_FL_TUN_NONE = 0, NFP_FL_TUN_GRE = 1,