From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 54DE442C2F; Mon, 5 Jun 2023 05:12:42 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 053A8410ED; Mon, 5 Jun 2023 05:12:38 +0200 (CEST) Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2112.outbound.protection.outlook.com [40.107.102.112]) by mails.dpdk.org (Postfix) with ESMTP id 9000E40DF6 for ; Mon, 5 Jun 2023 05:12:35 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f1M5GReVlLMqBE9qIqUJjyYtrcuwuYttjMzjrEx2zBvxsdhkrB7pkIHXTej41HJJOBqZsbUkZvXbsXgS77LftUpEQ4V2/SXy2o6+QEb94A5NpHqZ6EAfiU2dVaAhF6Ud0uyz32zI6Jl/Q3xOKeTCpCx/XfCkdA7OQm9BWDCNRRDB/pv3XCSWYj0Z4WFxlOPz/bH4mRVoP/lUs2wmo6rlZHzkxyOmhtKSn05453vfqFweK1b7ab4uTp8SiVDqFxaX4rU3yZmpwAH6QAswFjgtF6UVeapIksJcF+Wk0dTyqCO8k4jnG6m8fkiQx+h4FagaqZ6GOhMHkQ0ezoaRsnUbew== 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=eL1uD43hZe9r8CcJ9TMCmIWwS92x/+D7cOpzsev62ws=; b=FSmIeSJZBMWZJ6LTUNUtzS+cm0wYsw842EWSQXBsfM6cXv8J0WpMUQ+sXUVfbzBttOLhFTbHd+bXtAe00cdfnOKFHwLZBTX8QcsV/vPlnyqi9jVzQl8W8UpvfpEOsIIHnd+NAFjNYw5/D4Ra951IdGGe2nz8jscBKz1YvqTi1Mv2QG2y+Zc3+UaqymeuUDktpy8vdX6dqa36Q/lKTDBPko9pQYdSS2mMUWjWhy96Z7QMcaGzA1tv8u5qKPJ2S9McOYlAYhjvhWAniuFlx5roReF1mj2R6ogZjKpVWpGQ4oRSsTDl/HzpzvcjWdxV46HPactl+Gzv0779sfNdHM3Kog== 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=eL1uD43hZe9r8CcJ9TMCmIWwS92x/+D7cOpzsev62ws=; b=aURZa9un3oegIyCmeWfs5lh0mF2DjE311kNJMt7CSs0ZFE8S252pTqjC64WedhNmbWHC+UEH6aA9T9V7lelGnhlxw0d6qq/S5meOrILNHh99HfEtO//lFoyRqIZu0/QwKhNCFZlfZipxGE6Gcd9GaLfFtGfH6Qo4HbNb1TXDJyU= 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 PH7PR13MB5593.namprd13.prod.outlook.com (2603:10b6:510:138::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Mon, 5 Jun 2023 03:12:34 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::f9ea:8aa0:ca72:caef]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::f9ea:8aa0:ca72:caef%4]) with mapi id 15.20.6455.030; Mon, 5 Jun 2023 03:12:34 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, niklas.soderlund@corigine.com, Qin Ke , Chaoyong He Subject: [PATCH 1/2] net/nfp: report outer L3 packet type by Rx descriptor Date: Mon, 5 Jun 2023 11:12:06 +0800 Message-Id: <20230605031207.3381300-2-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230605031207.3381300-1-chaoyong.he@corigine.com> References: <20230605031207.3381300-1-chaoyong.he@corigine.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SI2PR01CA0008.apcprd01.prod.exchangelabs.com (2603:1096:4:191::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_|PH7PR13MB5593:EE_ X-MS-Office365-Filtering-Correlation-Id: 49b9f11b-f10a-41d6-2370-08db6572b4f4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: M/dZ+3iaK96YTXtNQ0EVN8Pb6nNDW9mllVY4xfMi/ls40BX3av/OP4v42cm5gskRGtnwT9beNgTr8nPdJukMzTbgNyFpaoGgNIZ70f0TTr5LUDgAqwjKb0r/P3AToTqmN0RV01yytlN/ALXzjiQCkrzke/BqjjMm8WhGwx3WB9oN7GKbAF/B+3zIDib2exgu7ixVcC6Zx7ExdwREgmR44puCeevutrPVUb5q9/vHwA0Ia5XPAje15a2xoMfWiEBrHEx8zUfRupkj4eOLXjk8gB7gXljAOxKSW/H4oQ+ggouTabSgu+rGTziom6C0LbxmXBNhP7arSdf8pCPorO961CBe5W1CIZHa9U4HTyGEfDnhGwJykadKwT0S5Y1OrBAA/MzhR/l8k5hePzDPiwMdv9KKDby0cMKQV9cXjuIgAuxYMRepWL9s1P+8swqrHwc+OTPuKQGyzSARxWp695ggQ4VrZRgL35JdyuZcNTcG30jMhVnu2ryTJ0QoNbxufyPZoph0d4qfynShgT5+cxht33Srs78tpUvHXS2uw2G6UVdZGFruZrA5+9ReQ1DMcXrDV9p/cuodv8JJmtWSkmTNrq/pa55uYbhHjLObMKMcZJ+HYBk2GRLKTjTPvduJX2sud5yob4SVu8M/WpFTg2oqlR3VUnG+kZnhmK+RXF9Ed3w= 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:(13230028)(4636009)(136003)(366004)(396003)(39830400003)(376002)(346002)(451199021)(107886003)(6512007)(6506007)(1076003)(26005)(36756003)(83380400001)(86362001)(38350700002)(38100700002)(186003)(2616005)(41300700001)(44832011)(54906003)(2906002)(478600001)(66946007)(66476007)(6916009)(4326008)(8936002)(8676002)(316002)(66556008)(5660300002)(6486002)(52116002)(6666004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RmI1U3BxQ1hWcndveFNyZSszK1BwY1owNG81Qnh2R2hFWi93N09icTYvem10?= =?utf-8?B?RWdUMjBNZ0xxMWV0SElBZ2dPeGxVMUpEQ0JkWlowdXgvN1VYbSt5bDNva1Zl?= =?utf-8?B?STlrOXBadGJ2ZG84ZjF3bHRuZUhKemRsTDNlNlVOQVhvZ3p5eG1UdmdXRFox?= =?utf-8?B?UG4vSEVBOVgvbGNncWZseGJKeHM4OG9FOVBwalE0RWEzejFaRkpjenZ0dE9m?= =?utf-8?B?NGhhRUlGcys3bUxkQ0IvWjh5N0MwaUNyT2g0ZmxLQkVZYWg0d3ZRcHRWV1cr?= =?utf-8?B?MUxKWGoxOTdqYXJMZGoyekY2aVBueEI2dTFNWkt0bHBJb0wwY2MxaTJkNzVX?= =?utf-8?B?d1VxT3RvL1pQZk4vOU1tRzFvWTN3aksvQ1dnL3JYVVF5UU95a1VEQlI1UDFK?= =?utf-8?B?Wk9ZZEt5K09pNkh1SHZZTzRmWDRPN3owTUR3c1NTTXNRQ3lNMEU3NEpDV25w?= =?utf-8?B?YmZNcEYxTUlrcFVNMXkwT2d0VFNiMlY2WnRYd2VaSXFPVDlkclNkbm5MdE5i?= =?utf-8?B?Sml4NjNneW1Rc0o4YmhjUVhjK3NER1F0Z21QQkJEMVlsdXY4WnRmdUkzdGNy?= =?utf-8?B?MXJTU2YyMjd6WCtnK25Hb0krMzJ0STg4OGVZTi9FN2lGdHE3SVRzVS9zTWtC?= =?utf-8?B?aG9YMWNzWmIvbnNWbDZhSXZSditwbzFEcGpEMU8xS0VPU01meGpmeGFwTlpO?= =?utf-8?B?VGo3aUU0cWZoUW5TZzdsY1p4amkrNkdvaWFPNGYydFFMdnBoRUZRcGVqSnZB?= =?utf-8?B?cUF4VlVhTmU3cmlacEVUZFZYUkNWVU1ZQVJTNUJ1WGNmSUFCK1FVemVkK2RL?= =?utf-8?B?Y29idlJFRjB5MWhvNHNoeS9tNjBpY0k2aUozbm96UWhZWE1ZaFFmQWJKa0tU?= =?utf-8?B?M015cVp6K2RVMEdIZktlSVdpK29VazdCamc3a2dCYkoxL05GRFR5Z1BnQ2o0?= =?utf-8?B?MEdHWXdmMEZsWjl0S0pTR2NLK1liNm02aytmREd0TGxTMG83QkdqSkFtUTl1?= =?utf-8?B?OElaaWNRMndjUjluWUVQZVVJNlJ6WDRZSWtRTnRDVGl4L2xKWFNNckYzWG1C?= =?utf-8?B?T0E0SDhMVFhaaTRQWUFKV3ZHeTRqV1B3ZndubWNtWFo1TGhCSjV0aDRxKzZn?= =?utf-8?B?dXlMbjYwbFVqSUwwTmRIVFlVSVhDZWlaZUh3WE1CVlNWc00yTW5YY1FISlo4?= =?utf-8?B?Ykt3bWpnVzhxWDBPeVRLQ0hxMkNHODVaVmlaTUpGbVZxRy84SlN0TmVweS80?= =?utf-8?B?azNaMmdwcE1Xd2ZERGFWSTVWamxuWWo0RmRHMWcrcWwraThxOUREL3BvaFdQ?= =?utf-8?B?ejNEUzBOT3FSTDZ4Y2FOaUZIUWFFWDcxL3JaSXlJKzNmc2dZWHA0aHZYanNQ?= =?utf-8?B?ZjJpb1ZmMEgwa0Jpcjc4bUVYaTVvKytycG0vOXNaK2VEY1lYWGZ5SVNhbkVq?= =?utf-8?B?YU9BYnlNakdNQ2p5NE1qMk02SzA2YzFPREgxVEE4Y1NrdkZPdmxiY2Zybmt2?= =?utf-8?B?RmszQUc0cUdveGVKR0o1OHEwYTZXbGRPYkJ5MjRQd2JCeG5YYkRSMnZKckov?= =?utf-8?B?ZUY1dnVxMzM5MHpENU05SWNlMGErc3hMYk83UUllRFpZb2hBemV2Ry9uVEFX?= =?utf-8?B?c2lJOXR3NDdqdUJyakpaQU4wTkFXQUxacmREdWRYZ2dhYnNPeGI1Zlpud0NW?= =?utf-8?B?ZUdFdTdZdnJVcjBSdVZiYzlFd2grNHVFOHMrWmNrUHhmQUZ6TUQwRm92ZnBR?= =?utf-8?B?RnEvbDduT0dYcUdOWk5nekEwbXBMQlI3TEI3dFZEbDZwTzVIVTNmODRJR0kz?= =?utf-8?B?N0I5QjVaNDBwQ0U5WFpYakVkTHlHUThCMVlaeWpscEN4cWdyeE9QTUd2SmFM?= =?utf-8?B?NDlQcnQ4dVRuMjRWVFJHNmhuU3JZS1EwNDVseW80alJHY3oyS3pZUjBuRWxk?= =?utf-8?B?S1ZnakJJSm5VQWxCVVYzR0l5MTMxZk5ETHN2b1ZXZVVBZ1psdVROWU1neVM0?= =?utf-8?B?UEhvWmw1VVM1U1JBUFFFcEZnaUlHWW44eVZDaVB1OXVkM3AzTVI0VTAySktB?= =?utf-8?B?bGxBWSt4RlFEYjlxSlU1R3QyMjhNSjlUOTJzNEpneGx3c21kMGhFYjZJU01a?= =?utf-8?B?bFRNcjN5SFdiSkFIeWorcW9lRWFGUzFhSE1OZVJmd0ZLYWxkZ2hNYWdnK2Rs?= =?utf-8?B?T2c9PQ==?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 49b9f11b-f10a-41d6-2370-08db6572b4f4 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2023 03:12:34.2055 (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: TCQHO87UXQmp5rF/DF6YCW0TG5tV255fQjv/mOvoFvyWSROl64jegDg4+wE6BgglvbQFHF2uCaqTcwHmh8mDTUAkoTjsYg8pp72+rcDaZgo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR13MB5593 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 From: Qin Ke Parse outer layer 3 packet type from Rx descriptor and report it. Signed-off-by: Qin Ke Reviewed-by: Niklas Söderlund Reviewed-by: Chaoyong He --- drivers/net/nfp/nfp_rxtx.c | 17 +++++++++++++++++ drivers/net/nfp/nfp_rxtx.h | 21 +++++++++++++++++---- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/drivers/net/nfp/nfp_rxtx.c b/drivers/net/nfp/nfp_rxtx.c index 38e084171b..a36efd3aa9 100644 --- a/drivers/net/nfp/nfp_rxtx.c +++ b/drivers/net/nfp/nfp_rxtx.c @@ -321,6 +321,21 @@ nfp_net_set_ptype(const struct nfp_ptype_parsed *nfp_ptype, struct rte_mbuf *mb) if (nfp_tunnel_ptype != NFP_NET_PTYPE_TUNNEL_NONE) mbuf_ptype |= RTE_PTYPE_INNER_L2_ETHER; + switch (nfp_ptype->outer_l3_ptype) { + case NFP_NET_PTYPE_OUTER_L3_NONE: + break; + case NFP_NET_PTYPE_OUTER_L3_IPV4: + mbuf_ptype |= RTE_PTYPE_L3_IPV4; + break; + case NFP_NET_PTYPE_OUTER_L3_IPV6: + mbuf_ptype |= RTE_PTYPE_L3_IPV6; + break; + default: + PMD_RX_LOG(DEBUG, "Unrecognized nfp outer layer 3 packet type: %u", + nfp_ptype->outer_l3_ptype); + break; + } + switch (nfp_tunnel_ptype) { case NFP_NET_PTYPE_TUNNEL_NONE: break; @@ -432,6 +447,8 @@ nfp_net_parse_ptype(struct nfp_net_rx_desc *rxds, NFP_NET_PTYPE_L3_OFFSET; nfp_ptype.tunnel_ptype = (rxd_ptype & NFP_NET_PTYPE_TUNNEL_MASK) >> NFP_NET_PTYPE_TUNNEL_OFFSET; + nfp_ptype.outer_l3_ptype = (rxd_ptype & NFP_NET_PTYPE_OUTER_L3_MASK) >> + NFP_NET_PTYPE_OUTER_L3_OFFSET; nfp_net_set_ptype(&nfp_ptype, mb); } diff --git a/drivers/net/nfp/nfp_rxtx.h b/drivers/net/nfp/nfp_rxtx.h index eebe9b3ee2..cf713b0cd5 100644 --- a/drivers/net/nfp/nfp_rxtx.h +++ b/drivers/net/nfp/nfp_rxtx.h @@ -178,7 +178,7 @@ struct nfp_net_txq { * 1 0 * 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | |tunnel | l3 | l4 | + * | |ol3|tunnel | l3 | l4 | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * * Bit map about nfp packet type refers to the following: @@ -210,6 +210,12 @@ struct nfp_net_txq { * 0101: NFP_NET_PTYPE_TUNNEL_GENEVE * 0010, 0011, 0110~1111: reserved * + * Outer L3: bit 10~11, used for outer layer 3. + * 00: NFP_NET_PTYPE_OUTER_L3_NONE + * 01: NFP_NET_PTYPE_OUTER_L3_IPV6 + * 10: NFP_NET_PTYPE_OUTER_L3_IPV4 + * 11: reserved + * * Reserved: bit 10~15, used for extension. */ @@ -217,10 +223,12 @@ struct nfp_net_txq { #define NFP_NET_PTYPE_L4_MASK 0x0007 #define NFP_NET_PTYPE_L3_MASK 0x0038 #define NFP_NET_PTYPE_TUNNEL_MASK 0x03c0 +#define NFP_NET_PTYPE_OUTER_L3_MASK 0x0c00 #define NFP_NET_PTYPE_L4_OFFSET 0 #define NFP_NET_PTYPE_L3_OFFSET 3 #define NFP_NET_PTYPE_TUNNEL_OFFSET 6 +#define NFP_NET_PTYPE_OUTER_L3_OFFSET 10 /* Case about nfp packet type based on the bit map above. */ #define NFP_NET_PTYPE_L4_NONE 0 @@ -244,13 +252,18 @@ struct nfp_net_txq { #define NFP_NET_PTYPE_TUNNEL_NVGRE 4 #define NFP_NET_PTYPE_TUNNEL_GENEVE 5 +#define NFP_NET_PTYPE_OUTER_L3_NONE 0 +#define NFP_NET_PTYPE_OUTER_L3_IPV6 1 +#define NFP_NET_PTYPE_OUTER_L3_IPV4 2 + #define NFP_PTYPE2RTE(tunnel, type) ((tunnel) ? RTE_PTYPE_INNER_##type : RTE_PTYPE_##type) /* Record NFP packet type parsed from rxd.offload_info. */ struct nfp_ptype_parsed { - uint8_t l4_ptype; /**< Packet type of layer 4, or inner layer 4. */ - uint8_t l3_ptype; /**< Packet type of layer 3, or inner layer 3. */ - uint8_t tunnel_ptype; /**< Packet type of tunnel. */ + uint8_t l4_ptype; /**< Packet type of layer 4, or inner layer 4. */ + uint8_t l3_ptype; /**< Packet type of layer 3, or inner layer 3. */ + uint8_t tunnel_ptype; /**< Packet type of tunnel. */ + uint8_t outer_l3_ptype; /**< Packet type of outer layer 3. */ }; struct nfp_net_rx_desc { -- 2.39.1