From patchwork Thu Jun 8 03:19:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 128365 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 2FA1B42C57; Thu, 8 Jun 2023 05:20:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 24C2642D0C; Thu, 8 Jun 2023 05:20:28 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2127.outbound.protection.outlook.com [40.107.100.127]) by mails.dpdk.org (Postfix) with ESMTP id 4B33040042; Thu, 8 Jun 2023 05:20:25 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bB1Ssc+rTN/A5H1/VYozVUx1iEcpvZs6jQxCLDTkBFVZ+BmvfpVn9NpZxf3lwUbhYB7mxud7r1c6M42CCBvoDoqMSG7jN88El1YiKdGNj3f3tUnlwOQd5cCnTyIauAMbI+Ce7ebvBtHaptYHt5t5yJjhMJwKfuoyvc5BITDxLon/v+CfTcoYTz+j+399MBJLt7zx+8OD6Fbpp3+v3GAzRUavRLTP8K64IwqEpnYJ89qkjRMPpVHK/7Lz5hKISDrWfV5LXEj4ppfhgsK2YSiOhyUl3YtWd2i7a8a+QMOSZlvsl0mnRveWNWklWGEl1RXGUXTmmEo3Bvolt2K9a2izfg== 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=0Q2Xdo2u0gig00QncctFa3GGSk5nKebplIS1zvlTllk=; b=Df0K/vJnqUB7geHELuUE/j/sYgCIwC+pn+YUXhrckTSNsB5v4Cbtc6QkkIsPS8xAeQWcIBijIXODl90GVT6RTl4O7et6eGCfl7bD5IBHtKukgRVCc40bpOOpRMMuBFpirGk16PibXF1hTcqBhxqxkMllLlX5qKz5/9aEf8UGACGM+3zlzVAhJ8oFGcRHk3NkF/tELNwB5WRrf3reHoUBnMdppGTAnNJKHHav6NOOeGItb15ZRffcZHvApUAJF1VlkCJ9VIDQogBpCOzTHCqr8epC2sQ8BllRrwbfUAGxU36mYeZyot4kVoErKOJLoxRmqKLPzT5kc9ufNQ4IZ2KyDw== 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=0Q2Xdo2u0gig00QncctFa3GGSk5nKebplIS1zvlTllk=; b=pTp0mrbgafS2yqvOepcJLW+9R4GQNU84FoBnVxCI8yMvrH9zLrO9hlsLA1v2oRLbL3tYH/l7yFWHmafzFmZSPpQtBB4OGBpPa/zzOwx5Y/a/tSrVIfOGjeTmB31cUywzSnICNFQBY87iaXjpuyflu8hV55fJ2LoGoXsJE7td0Cc= 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 DM6PR13MB4432.namprd13.prod.outlook.com (2603:10b6:5:1b8::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Thu, 8 Jun 2023 03:20:22 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::d2cb:a650:e1ce:2174]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::d2cb:a650:e1ce:2174%3]) with mapi id 15.20.6455.030; Thu, 8 Jun 2023 03:20:22 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, niklas.soderlund@corigine.com, Chaoyong He , stable@dpdk.org Subject: [PATCH 1/4] net/nfp: fix the IPv6 flow item Date: Thu, 8 Jun 2023 11:19:53 +0800 Message-Id: <20230608031956.814684-2-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230608031956.814684-1-chaoyong.he@corigine.com> References: <20230608031956.814684-1-chaoyong.he@corigine.com> X-ClientProxiedBy: SI2PR02CA0038.apcprd02.prod.outlook.com (2603:1096:4:196::22) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|DM6PR13MB4432:EE_ X-MS-Office365-Filtering-Correlation-Id: 8b762e8f-3682-4c5a-d415-08db67cf4b38 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sZ4oBelpCKZYkiyO0d0x00ZSA1kjZoRos1EFUWNVze2fx58q4hbrAinIsLxLs3CmzEh5Uv7hQYZE29YU4CRDeYcOj5A0uHPZ8NDWJDOfrRvnoQgsXvDkUR1hKT7r5YiyxJH/Asa2kUSS6djcoxX6Z2G/Td2fefAqwXg45dUiMGYi3MwK07xvyHtgoxTR+ItM21yy5LQHTKK4HuYy7QxvlK/E1GG+8M5etE6tzUBztLe9tSfHM2929mnD38fGYbRQKBXb7GQWX6y8WHzWUH43hAXnCY1OFJN33Zsu8Id/jKCpk6dhbpp2BJw5+p9TKaAMaGDuKgop4YAB3+IPzIXVfpP/guqzL1/BPDfXw1Sm+hUrKKCR7Ojbd5fntYaLvge3SJRiSfZPeWDUFFwkw3dBsdtWPirKWmOtKXJFmRXuH0B3Y5OO5mF8bIjl5dbhoTWiN9Q6aNemQvxPjs5A/NQlK95FBJjLQO3bXZN6CtiH1bIyBuRP4HtcmcA2mGu3c8qTSbjIARVEQmTBvj+IkEOg1o1hgJMoUYJCrkBb7Wp+QbQ9gjKfEzGwGHvw4wCPM0bfTJmIY4f821HcXI/IAuxV98ie1NLuvDBC+Gr3Q0wlrMMFl3gFe0E8IouisagXfvb5 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)(39840400004)(366004)(136003)(346002)(376002)(396003)(451199021)(478600001)(2906002)(2616005)(83380400001)(6506007)(1076003)(26005)(186003)(6512007)(86362001)(38100700002)(38350700002)(52116002)(6486002)(36756003)(6666004)(5660300002)(450100002)(8936002)(8676002)(41300700001)(66476007)(6916009)(4326008)(66946007)(66556008)(316002)(44832011); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?33DCf5w6h8WfsMbH4xtXXLmgqnJq?= =?utf-8?q?otknpyh3rDZL/KQwxofJeLwZmWskm+n3Ef0Z1SAsLVLVUrhnLS3/IuzaQIO/Jw7On?= =?utf-8?q?C75MFHyFsZMOKfDyTYYM2Z/n7nzz0YZ9h/EPH7OI0HWn1rKZamoUGISH/JDmfZXJq?= =?utf-8?q?sMQ8Go6uVeoidznpdhrl3kdUTxR9c7Qm2z6oFnOfTL3C/LJ6VaqUh0Va7LTseqRgW?= =?utf-8?q?GWe31wqCje4GNAu+OoKJnKYVkNqvVUfdj1eJ6Us1UyraZtceqYSZJxvcBCL5lOask?= =?utf-8?q?n+n+vCPJI90b0CBgDm2QhcL0e5LaXdEcocAgsoEnbJMnJvjPVd3o9rl84AkPodTPe?= =?utf-8?q?a2nw7XrN4HWvk1yAI7GTbIL+S+E2xXZES+/3JwYKxuLK9fAMorr00drjNEffud2DH?= =?utf-8?q?/OVS1JUWA4FJ7fU++WehIHJoVi5gTsUthHeR9uPjGericu7O1tySP8j136F2lvVK8?= =?utf-8?q?T8Xyp5IuZBVSBa6Qs4FZMqFgyngV5aliV7q/X77ah4ldsMM6/X83+guykpSwMLjTQ?= =?utf-8?q?HAx1XVctMlWJHmiYaf5/6lXYk+KEhStmo3VVwb6QvZjh/VNd9slBMG9occvyl0fHT?= =?utf-8?q?wWjY/8yezCYQ1jpFLtknJxiC8lM0Xu9eotLQrTXiotJcSG1jn3tMrOoYK+j/fAzIb?= =?utf-8?q?gAYCRthdYs5feT+mm0/YNUNIkqoUKBmt0QdS8jHcAHE4G6pt9thZqQI6IYhROQ93o?= =?utf-8?q?l5H/hNC0DFOYCq17EJKSSE9NvOiVz/kWD2YvfcEjfou4rpKb/oT/9O3uZ6BDnpG3U?= =?utf-8?q?KlbQgX48092vsjeWbPU1inkkWKRWBLIZ6AKk3wgZ7ggUFky7zav5/JLChT7lSw5tC?= =?utf-8?q?uBIhQqOmdUjRQGNotDih6MNjCUXdduyAN3pzt5kcK8ZE4zHeSR3ebThVUQHf3CiOI?= =?utf-8?q?cNa63yHHGOM+YewVUjyKg8vC+24s9v7VuFFKNcZpnfpWmoXg5SHMetoq9oq2xNxc8?= =?utf-8?q?vH4wIgppKHKNaphR1aMP1g64fKMiKJgsJ5YRdj5gJwAmqprK9r2k5RmWtsgvHc+sP?= =?utf-8?q?OlGYF5x3bsLS/d7t3UDQQEtL2OTZ+2JDBViCKb1RIC3Hpppuka4+3FePr7EwI8nND?= =?utf-8?q?YahT5Ym1G0i/+nRfckDfkgtaL0XKFLD9iG7k39Kb6MGjW8pesA7Hv46Mr59CkDD2D?= =?utf-8?q?AJwWcLq2e2GfAnYjUkU1vCKv9XyZ4x3keYvyK7hyNvE/bj8qD2K2+HpvFBU+0FInC?= =?utf-8?q?+MIFLc4TqD5y7lun5QfeDjrfsmfRfk/TALHwmr8obXRBbe7dbKeNprpTeXhRJHyu+?= =?utf-8?q?H0ZfRSnyGtl9d14nsaDpHGWbyU0ohu6QDK3u8g0Wy0Gs06sbQ9YdAlqDi+AZqapX5?= =?utf-8?q?fS9w9R1b/2uzfGzOZKjwm04Wi2f19qlCWT8iKlEoJWz6hhsGWLvxOYlvxtkVI7aFm?= =?utf-8?q?qN+xLWJONInMNLAGu+mOrQEuTO1hBCqhGoxYEMfO9NGUH5PQFG7Is2xwbEAHu0X5b?= =?utf-8?q?euFwivTz2WB7UkqXqjRjj0qieBBSSck2TgQUOxoAhvnPYDGFXHmYh5EqWha0TfQQR?= =?utf-8?q?jixGUVB1Uiw5s5SDzaJQt4BzxrMf7iPh1g=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8b762e8f-3682-4c5a-d415-08db67cf4b38 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2023 03:20:22.3126 (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: hDFT50j0efSPqRylG+6FJjpPyUmvYTJpEKRkXZN3Isxy7a8pqiQA/kjAGaodI2VfpQdTrUdIMv4hY1D1x2CLbqRRFp3cobcaR0whqvd5DP0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR13MB4432 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 When process the IPv6 flow item, the former logic perform the mask operation between one big endian value and one CPU endian valude, which cause the match of DSCP filed not work as expect. Fix it by convert the big endian data into CPU endian and remove the unneeded mask operation. Fixes: d96507404463 ("net/nfp: support IPv6 flow item") Cc: stable@dpdk.org Signed-off-by: Chaoyong He Reviewed-by: Niklas Söderlund --- drivers/net/nfp/nfp_flow.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/net/nfp/nfp_flow.c b/drivers/net/nfp/nfp_flow.c index 41b722f4d8..937fb390df 100644 --- a/drivers/net/nfp/nfp_flow.c +++ b/drivers/net/nfp/nfp_flow.c @@ -1232,6 +1232,7 @@ nfp_flow_merge_ipv6(__rte_unused struct nfp_app_fw_flower *app_fw_flower, bool is_mask, bool is_outer_layer) { + uint32_t vtc_flow; struct nfp_flower_ipv6 *ipv6; const struct rte_ipv6_hdr *hdr; struct nfp_flower_meta_tci *meta_tci; @@ -1255,12 +1256,12 @@ nfp_flow_merge_ipv6(__rte_unused struct nfp_app_fw_flower *app_fw_flower, hdr = is_mask ? &mask->hdr : &spec->hdr; + vtc_flow = rte_be_to_cpu_32(hdr->vtc_flow); if (ext_meta && (rte_be_to_cpu_32(ext_meta->nfp_flow_key_layer2) & NFP_FLOWER_LAYER2_GRE)) { ipv6_gre_tun = (struct nfp_flower_ipv6_gre_tun *)*mbuf_off; - ipv6_gre_tun->ip_ext.tos = (hdr->vtc_flow & - RTE_IPV6_HDR_TC_MASK) >> RTE_IPV6_HDR_TC_SHIFT; + ipv6_gre_tun->ip_ext.tos = vtc_flow >> RTE_IPV6_HDR_TC_SHIFT; ipv6_gre_tun->ip_ext.ttl = hdr->hop_limits; memcpy(ipv6_gre_tun->ipv6.ipv6_src, hdr->src_addr, sizeof(ipv6_gre_tun->ipv6.ipv6_src)); @@ -1269,8 +1270,7 @@ nfp_flow_merge_ipv6(__rte_unused struct nfp_app_fw_flower *app_fw_flower, } else { ipv6_udp_tun = (struct nfp_flower_ipv6_udp_tun *)*mbuf_off; - ipv6_udp_tun->ip_ext.tos = (hdr->vtc_flow & - RTE_IPV6_HDR_TC_MASK) >> RTE_IPV6_HDR_TC_SHIFT; + ipv6_udp_tun->ip_ext.tos = vtc_flow >> RTE_IPV6_HDR_TC_SHIFT; ipv6_udp_tun->ip_ext.ttl = hdr->hop_limits; memcpy(ipv6_udp_tun->ipv6.ipv6_src, hdr->src_addr, sizeof(ipv6_udp_tun->ipv6.ipv6_src)); @@ -1291,10 +1291,10 @@ nfp_flow_merge_ipv6(__rte_unused struct nfp_app_fw_flower *app_fw_flower, *mbuf_off += sizeof(struct nfp_flower_tp_ports); hdr = is_mask ? &mask->hdr : &spec->hdr; + vtc_flow = rte_be_to_cpu_32(hdr->vtc_flow); ipv6 = (struct nfp_flower_ipv6 *)*mbuf_off; - ipv6->ip_ext.tos = (hdr->vtc_flow & RTE_IPV6_HDR_TC_MASK) >> - RTE_IPV6_HDR_TC_SHIFT; + ipv6->ip_ext.tos = vtc_flow >> RTE_IPV6_HDR_TC_SHIFT; ipv6->ip_ext.proto = hdr->proto; ipv6->ip_ext.ttl = hdr->hop_limits; memcpy(ipv6->ipv6_src, hdr->src_addr, sizeof(ipv6->ipv6_src));