From patchwork Mon Oct 23 21:07:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Kozyrev X-Patchwork-Id: 133197 X-Patchwork-Delegate: thomas@monjalon.net 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 A58D9431E6; Mon, 23 Oct 2023 23:07:38 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A071C402CE; Mon, 23 Oct 2023 23:07:35 +0200 (CEST) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2055.outbound.protection.outlook.com [40.107.101.55]) by mails.dpdk.org (Postfix) with ESMTP id A9E43402CE for ; Mon, 23 Oct 2023 23:07:33 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=frDAbZrJNBCAjVMG/ks8mgg5fnm3UMERs03jLnh5NSQq8G4Lq27QhMTekok/3aoBFkk+JNKS+AGN16eLAB3YxLKfMRpVnR1P0ylWxxfRx48Kwnjtus2ARjd4eqveXQO3WKND8DlCk2qbXkvOOODMhyb73vE0u0GdNwJgKihsmmPbGIzEKeCd3fQfB/JWHKxyLjCOIj0uQKM0mISby9cY6cweAHklgIc296/1a5NSbKFvAapuzLmofCeLllfYdZg/CriWPNvCSOrkU3NJnYdGiim7dtgSkoIqEn+xbuYE2JFah8ETokic7usUKbgxmo7HDKl0mk3aDOdTwNg5iUaktw== 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=oY3wDpVC4OeSi242//C7ku/duAh8cWLqgIdzSJlkXXw=; b=dt8GDo63kA+XpEzgbhFQqK1cp7EIVAqt1+XrafENjwQ0gMLi1Z9dnuA640YlLtQe/XRwnSE5TU3dHP9Y9Wz9okCpezl0mD9WCi8Qi38VTPXaIOFaFArbxQgz+DrO17O0gOACogd2Ni845VrvRVzcrhoceSjvugXWAPLjGkmACORCCT7g0Cd6rUWUWVdb0fqrZZIKa1Qv3+LhQ4VdBpGI6ILDtZjp8uEnYjVf+HiyluPBZs76rLUggFvok5lDp3dFaAkAH5M3QlLhFMtvtdnIn0PT7ApN+ntpaWfNTiDQCANpY/fIvqJcXLsMIq2jjPk+fVXPVimBgCd2Nk/Sn5xd0g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oY3wDpVC4OeSi242//C7ku/duAh8cWLqgIdzSJlkXXw=; b=EZgZw7pHowXqpgD1R6jtLTkGmznxHUBjbLpQoSCiGT5dDizrpyBtnCDakrraxHH71ChP/MQQEs0wl6qs8iWaaGmhX4KkXTwgjMzApDW0ullsjFB9FkG7frOm4Ea/4XwPNddZB8/NCodCBZOfTVa+a5jS6XcR/FkBB8vVoM73w+MWZyz44B91vEnRy+RANmu9t7P152pcAVrXzf18Nfv/PeEfqybSqrNCI/FcicTSXp/LSgNG4wy7NyeTnxrDMYN6TTWTaa8tHZHgq9vuVpqc8p/LnSlX3W5g1Wfcfg531aC4Vgg4wMouSPvRgNIYmirIww39lXI5SrgppxbUSSgfPA== Received: from SN7PR04CA0044.namprd04.prod.outlook.com (2603:10b6:806:120::19) by IA0PR12MB9011.namprd12.prod.outlook.com (2603:10b6:208:488::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.21; Mon, 23 Oct 2023 21:07:31 +0000 Received: from SA2PEPF000015C9.namprd03.prod.outlook.com (2603:10b6:806:120:cafe::70) by SN7PR04CA0044.outlook.office365.com (2603:10b6:806:120::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33 via Frontend Transport; Mon, 23 Oct 2023 21:07:31 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by SA2PEPF000015C9.mail.protection.outlook.com (10.167.241.199) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.15 via Frontend Transport; Mon, 23 Oct 2023 21:07:31 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 23 Oct 2023 14:07:29 -0700 Received: from pegasus01.mtr.labs.mlnx (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 23 Oct 2023 14:07:26 -0700 From: Alexander Kozyrev To: CC: , , , , , Subject: [PATCH v2 1/7] ethdev: fix ESP packet type description Date: Tue, 24 Oct 2023 00:07:01 +0300 Message-ID: <20231023210707.1344241-2-akozyrev@nvidia.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20231023210707.1344241-1-akozyrev@nvidia.com> References: <20231009163617.3999365-1-akozyrev@nvidia.com> <20231023210707.1344241-1-akozyrev@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF000015C9:EE_|IA0PR12MB9011:EE_ X-MS-Office365-Filtering-Correlation-Id: 2c14189e-12d9-4aec-6ee5-08dbd40c1261 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RD/etrfNeUaBEszRjSO1er2Nx1F8UBVnF0g27fUi4m3wWbOJcFozJ1YW09PAzD6xrCp6aH+3wMQ4hbXSsqSdmQqsw35H/H8kFMWiIvYoTqIrgzFJgfgG1/HxzkA06huGbMvdV9gQkjO0EzMRUBdhTIwDCXukA7ZesL7eT/6wzO94nkzdV8gEasWL28JvnSHSVgQFPMlEJ/1E0dRJKeIkw9P+l/yy671SQmg6+LfC6rNDhJx1KlEw7NTNaIFi/KjRJ3YTKmpUA8+OMX9lxmlZk7URxY2eHqLGqGiMmHBJl56fsG9JbE/Ke6SXp6Ax4obiYx0hc3f3VV0XDexRNa9rmApHkzkyMcggBxq4qDBAVCGI8IgbdiNhXsqmVkZOAr2RjwPURLswMmADLRArobNWhDLTPdz9kSVuDWhv6+7PhaCHOZZ0RoRbqS0+ler79LmZ3gH5TsihJBT+t3HVkgVhbDbARrKkjqi2cB1QkdyajZu+k9I5UqlamWva55J9020TN05EjBx0wIP1tWqLyOkg8rOw9zSHB6Zb8lFcYVbzNzjZEwb4fRibvCsAeT16b3mMLtJFpkUPAdPYxJ72FBYNaq5EGzT9cCWADR5LdY8BnUv+OJW2ylVD8C5Pwg6/GaeFf6Uw9ZzYUi0rRvEH8G017ShQpft3dasYHFQcm+DCwZ8Tl3opBOV7U2ff7OopxJGreC8YpyojzFYueTiuiX9/Q1RCY+0cxisyChJixWk/ilgFvnuciSj3eys9siQ9Ha9p X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230031)(4636009)(39860400002)(396003)(346002)(376002)(136003)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(82310400011)(40470700004)(36840700001)(46966006)(86362001)(82740400003)(36756003)(40480700001)(2616005)(40460700003)(26005)(356005)(6916009)(70206006)(316002)(54906003)(7636003)(478600001)(1076003)(70586007)(36860700001)(47076005)(16526019)(426003)(2906002)(336012)(6666004)(5660300002)(83380400001)(41300700001)(107886003)(8936002)(4744005)(4326008)(8676002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2023 21:07:31.4722 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2c14189e-12d9-4aec-6ee5-08dbd40c1261 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SA2PEPF000015C9.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB9011 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 The correct protocol number for ESP (IP Encapsulating Security Payload) packet type is 50. 51 is IPSec AH (Authentication Header). Fixes: 1e84afd3906b ("mbuf: add security crypto flags and fields") Signed-off-by: Alexander Kozyrev --- lib/mbuf/rte_mbuf_ptype.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/mbuf/rte_mbuf_ptype.h b/lib/mbuf/rte_mbuf_ptype.h index 17a2dd3576..f2276e2909 100644 --- a/lib/mbuf/rte_mbuf_ptype.h +++ b/lib/mbuf/rte_mbuf_ptype.h @@ -419,10 +419,10 @@ extern "C" { * * Packet format: * <'ether type'=0x0800 - * | 'version'=4, 'protocol'=51> + * | 'version'=4, 'protocol'=50> * or, * <'ether type'=0x86DD - * | 'version'=6, 'next header'=51> + * | 'version'=6, 'next header'=50> */ #define RTE_PTYPE_TUNNEL_ESP 0x00009000 /** From patchwork Mon Oct 23 21:07:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Kozyrev X-Patchwork-Id: 133198 X-Patchwork-Delegate: thomas@monjalon.net 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 6BD04431E6; Mon, 23 Oct 2023 23:07:47 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3C2F0406B4; Mon, 23 Oct 2023 23:07:42 +0200 (CEST) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2069.outbound.protection.outlook.com [40.107.101.69]) by mails.dpdk.org (Postfix) with ESMTP id 89FE540695 for ; Mon, 23 Oct 2023 23:07:40 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TLt2I45XI0Ug7hZ6iYLi3t3+RwqJ0TAeu4r3i8mMmsz0Sk+or90Y0FLxhsw6wXI5uMmmdQrfVIqIJ1FVps2pA6I/j+zUiY1verPcZDD6/FjX1Z81CUGUgO05bbjm9lhX25E0HsWuAFs16CQt8Zvd9iilCOWjkBSwYTahCR+fpRDiryO7936/SrpkF14YHkMsEtgzdcZTVoUUcELJyyPFEDweK512PL5M18rOpukUDinrr2oPCihPmN5bY6JSZubO1ZuAnJSsPoLPEQKl45671cp+/Cv4rK6fr8T0elabixfH16/52fE1wf6KcYaN7imFPJBx/uk1Q8iAbDj9+CaF+Q== 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=MDSMEtx8cwTo/YaFlXvvAv2yBlSW3e8H6UC/YYKAILA=; b=l951MeqFl5vpUwZJPgCOIbTAbSCL2DNButVFghCVxygoCtlfuMqdJ5RJjz8z3zLiycXBr5zNJx3DlIzknxIwTW+UNc4qhR9Hu4UjmCFgStH4j//mqjCX7eHAca6b9IX9jObm3ubTKSZiM56VYUmkMajSsaKyAC6XHDsUi8kafnv7+BINLK6iDPPKxWMJu7LXvOFzRII7TBzaD9taTX9A8lcm+8MLjOxx5D8nx7MoxVrtVGyySh2wbgJJ9wf6McuDfRgS99h+F5+Jwgm4p0H0IBZunoJbsVq9J5cAR4JTuoDlPlv5B/J7Of5QW1FJJFHI3c1CgN+iDWxQyY7XRIWoSQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MDSMEtx8cwTo/YaFlXvvAv2yBlSW3e8H6UC/YYKAILA=; b=LVA+ytfsOlJCHxOR4DZoUpTVgJqbi1IQCAMD1OkijOWII5CfcyBHEReAAE3wpoIw18N3UNoH3Ejht3TkGgtQueFXVIPh9IQcTaffyvHF9xOZfXHBNMSnVvNVu8SOKxzlcYYpGBJF6laAEaUkWWpkGi+hEkvDB2uJxswd7ggMiYFG+sCHBuNh4XG2rl5g9lzrIKt4Mi6ZbvkWqrD/pEbfFz0Vu6gDkvmC6BAIbGWkbwzjKOGVjsnNLYNthb1ULYkF4D8uzbuAOuZCQ9Sq4xFPRW14v/EnRI6fS3QGAckL9aKR6VzRD/ot4PqDjDRVpkVHbJ+Ve3BgzvrgO4RLKiVoKg== Received: from BN9PR03CA0232.namprd03.prod.outlook.com (2603:10b6:408:f8::27) by PH7PR12MB5831.namprd12.prod.outlook.com (2603:10b6:510:1d6::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.36; Mon, 23 Oct 2023 21:07:38 +0000 Received: from SN1PEPF0002BA4E.namprd03.prod.outlook.com (2603:10b6:408:f8:cafe::56) by BN9PR03CA0232.outlook.office365.com (2603:10b6:408:f8::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33 via Frontend Transport; Mon, 23 Oct 2023 21:07:38 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SN1PEPF0002BA4E.mail.protection.outlook.com (10.167.242.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.15 via Frontend Transport; Mon, 23 Oct 2023 21:07:37 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 23 Oct 2023 14:07:36 -0700 Received: from pegasus01.mtr.labs.mlnx (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 23 Oct 2023 14:07:29 -0700 From: Alexander Kozyrev To: CC: , , , , , Subject: [PATCH v2 2/7] net/mlx5: add support for ptype match in hardware steering Date: Tue, 24 Oct 2023 00:07:02 +0300 Message-ID: <20231023210707.1344241-3-akozyrev@nvidia.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20231023210707.1344241-1-akozyrev@nvidia.com> References: <20231009163617.3999365-1-akozyrev@nvidia.com> <20231023210707.1344241-1-akozyrev@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002BA4E:EE_|PH7PR12MB5831:EE_ X-MS-Office365-Filtering-Correlation-Id: cae887bf-5c7f-4cad-3a22-08dbd40c15e5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0SwYMdFLPOWERIlvijWZPRGqYqLFy6sVTEir0lrh8BU+XKclAcHK/VT3MqAPWiHuz5F7rtRhZzvBWbY8myDb9P3LeulEdTSHj3miuJ0QErZdTEEvs9DtaeTBGriwXY/oiHqJh0jkj+GSexD2ObkLPEwbxzEj0//FeSWMOPjV/Gl4UoovoSDEXEdtLEfpAVMWobFlTeOxrSbzMMp0njspuLHI2d7OjTzgw/oXN9cIA4ZLitLXU8z/2G76jVIPo3G10QNwNkVe1F+iL2sMr4hZ9to1h4dKrA3XZl+n6jloWvsqAedJUaC893f7GGhtHR4/fDVJS82dKV10XTeLP/xcPZSVuEj0Dvwbxx4dUBmGdCrEQbG9qdwmOaBUpaNOnEQtfYbOgRWUpOeN1/qmYKZiv8pUxOnyqSRAq4hcQzj/RvbGA1aJe9cU6HVt3RFvYoDBuCxPJD3xMj/1ZpfLduYXADcBaKdPmZVrGS3i4VMSy7GEq0ILVdiDwjir3hniJN7B4OE2KwMr//nhnqhjpmduikszSdw3oQvjfErZxqFZhPHkEeMF7dUYv+Jr2gcPS+Ku3E+tPZ2PczE7KX4zDofVmcZ5+oKBNYcb9IkK8n3gBukTdRsjyJB1/1CwgRYny4TCZN1vWre/aRsuWU+x/GMJ2H+t+mNMQTUybk4BWyyPo8xpH2BpXhiehPJ9jch4O5Dk X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230031)(4636009)(230922051799003)(82310400011)(1800799009)(451199024)(186009)(36840700001)(46966006)(2906002)(316002)(54906003)(2616005)(70586007)(6916009)(356005)(107886003)(70206006)(1076003)(7636003)(508600001)(426003)(47076005)(336012)(6666004)(83380400001)(36756003)(86362001)(5660300002)(8936002)(4326008)(8676002)(36860700001)(26005)(16526019); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2023 21:07:37.3534 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cae887bf-5c7f-4cad-3a22-08dbd40c15e5 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002BA4E.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5831 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 The packet type matching provides quick way of finding out L2/L3/L4 protocols in a given packet. That helps with optimized flow rules matching, eliminating the need of stacking all the packet headers in the matching criteria. Signed-off-by: Alexander Kozyrev --- drivers/net/mlx5/hws/mlx5dr_definer.c | 161 ++++++++++++++++++++++++++ drivers/net/mlx5/hws/mlx5dr_definer.h | 7 ++ drivers/net/mlx5/mlx5_flow.h | 3 + drivers/net/mlx5/mlx5_flow_hw.c | 1 + 4 files changed, 172 insertions(+) diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c index 95b5d4b70e..8d846984e7 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.c +++ b/drivers/net/mlx5/hws/mlx5dr_definer.c @@ -16,11 +16,15 @@ #define STE_NO_VLAN 0x0 #define STE_SVLAN 0x1 #define STE_CVLAN 0x2 +#define STE_NO_L3 0x0 #define STE_IPV4 0x1 #define STE_IPV6 0x2 +#define STE_NO_L4 0x0 #define STE_TCP 0x1 #define STE_UDP 0x2 #define STE_ICMP 0x3 +#define STE_NO_TUN 0x0 +#define STE_ESP 0x3 #define MLX5DR_DEFINER_QUOTA_BLOCK 0 #define MLX5DR_DEFINER_QUOTA_PASS 2 @@ -277,6 +281,82 @@ mlx5dr_definer_conntrack_tag(struct mlx5dr_definer_fc *fc, DR_SET(tag, reg_value, fc->byte_off, fc->bit_off, fc->bit_mask); } +static void +mlx5dr_definer_ptype_l2_set(struct mlx5dr_definer_fc *fc, + const void *item_spec, + uint8_t *tag) +{ + bool inner = (fc->fname == MLX5DR_DEFINER_FNAME_PTYPE_L2_I); + const struct rte_flow_item_ptype *v = item_spec; + uint32_t packet_type = v->packet_type & + (inner ? RTE_PTYPE_INNER_L2_MASK : RTE_PTYPE_L2_MASK); + uint8_t l2_type = STE_NO_VLAN; + + if (packet_type == (inner ? RTE_PTYPE_INNER_L2_ETHER : RTE_PTYPE_L2_ETHER)) + l2_type = STE_NO_VLAN; + else if (packet_type == (inner ? RTE_PTYPE_INNER_L2_ETHER_VLAN : RTE_PTYPE_L2_ETHER_VLAN)) + l2_type = STE_CVLAN; + else if (packet_type == (inner ? RTE_PTYPE_INNER_L2_ETHER_QINQ : RTE_PTYPE_L2_ETHER_QINQ)) + l2_type = STE_SVLAN; + + DR_SET(tag, l2_type, fc->byte_off, fc->bit_off, fc->bit_mask); +} + +static void +mlx5dr_definer_ptype_l3_set(struct mlx5dr_definer_fc *fc, + const void *item_spec, + uint8_t *tag) +{ + bool inner = (fc->fname == MLX5DR_DEFINER_FNAME_PTYPE_L3_I); + const struct rte_flow_item_ptype *v = item_spec; + uint32_t packet_type = v->packet_type & + (inner ? RTE_PTYPE_INNER_L3_MASK : RTE_PTYPE_L3_MASK); + uint8_t l3_type = STE_NO_L3; + + if (packet_type == (inner ? RTE_PTYPE_INNER_L3_IPV4 : RTE_PTYPE_L3_IPV4)) + l3_type = STE_IPV4; + else if (packet_type == (inner ? RTE_PTYPE_INNER_L3_IPV6 : RTE_PTYPE_L3_IPV6)) + l3_type = STE_IPV6; + + DR_SET(tag, l3_type, fc->byte_off, fc->bit_off, fc->bit_mask); +} + +static void +mlx5dr_definer_ptype_l4_set(struct mlx5dr_definer_fc *fc, + const void *item_spec, + uint8_t *tag) +{ + bool inner = (fc->fname == MLX5DR_DEFINER_FNAME_PTYPE_L4_I); + const struct rte_flow_item_ptype *v = item_spec; + uint32_t packet_type = v->packet_type & + (inner ? RTE_PTYPE_INNER_L4_MASK : RTE_PTYPE_L4_MASK); + uint8_t l4_type = STE_NO_L4; + + if (packet_type == (inner ? RTE_PTYPE_INNER_L4_TCP : RTE_PTYPE_L4_TCP)) + l4_type = STE_TCP; + else if (packet_type == (inner ? RTE_PTYPE_INNER_L4_UDP : RTE_PTYPE_L4_UDP)) + l4_type = STE_UDP; + else if (packet_type == (inner ? RTE_PTYPE_INNER_L4_ICMP : RTE_PTYPE_L4_ICMP)) + l4_type = STE_ICMP; + + DR_SET(tag, l4_type, fc->byte_off, fc->bit_off, fc->bit_mask); +} + +static void +mlx5dr_definer_ptype_tunnel_set(struct mlx5dr_definer_fc *fc, + const void *item_spec, + uint8_t *tag) +{ + const struct rte_flow_item_ptype *v = item_spec; + uint32_t packet_type = v->packet_type & RTE_PTYPE_TUNNEL_MASK; + uint8_t tun_type = STE_NO_TUN; + + if (packet_type == RTE_PTYPE_TUNNEL_ESP) + tun_type = STE_ESP; + + DR_SET(tag, tun_type, fc->byte_off, fc->bit_off, fc->bit_mask); +} + static void mlx5dr_definer_integrity_set(struct mlx5dr_definer_fc *fc, const void *item_spec, @@ -1709,6 +1789,83 @@ mlx5dr_definer_conv_item_gre_key(struct mlx5dr_definer_conv_data *cd, return 0; } +static int +mlx5dr_definer_conv_item_ptype(struct mlx5dr_definer_conv_data *cd, + struct rte_flow_item *item, + int item_idx) +{ + const struct rte_flow_item_ptype *m = item->mask; + struct mlx5dr_definer_fc *fc; + + if (!m) + return 0; + + if (!(m->packet_type & + (RTE_PTYPE_L2_MASK | RTE_PTYPE_L3_MASK | RTE_PTYPE_L4_MASK | RTE_PTYPE_TUNNEL_MASK | + RTE_PTYPE_INNER_L2_MASK | RTE_PTYPE_INNER_L3_MASK | RTE_PTYPE_INNER_L4_MASK))) { + rte_errno = ENOTSUP; + return rte_errno; + } + + if (m->packet_type & RTE_PTYPE_L2_MASK) { + fc = &cd->fc[DR_CALC_FNAME(PTYPE_L2, false)]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_ptype_l2_set; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + DR_CALC_SET(fc, eth_l2, first_vlan_qualifier, false); + } + + if (m->packet_type & RTE_PTYPE_INNER_L2_MASK) { + fc = &cd->fc[DR_CALC_FNAME(PTYPE_L2, true)]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_ptype_l2_set; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + DR_CALC_SET(fc, eth_l2, first_vlan_qualifier, true); + } + + if (m->packet_type & RTE_PTYPE_L3_MASK) { + fc = &cd->fc[DR_CALC_FNAME(PTYPE_L3, false)]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_ptype_l3_set; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + DR_CALC_SET(fc, eth_l2, l3_type, false); + } + + if (m->packet_type & RTE_PTYPE_INNER_L3_MASK) { + fc = &cd->fc[DR_CALC_FNAME(PTYPE_L3, true)]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_ptype_l3_set; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + DR_CALC_SET(fc, eth_l2, l3_type, true); + } + + if (m->packet_type & RTE_PTYPE_L4_MASK) { + fc = &cd->fc[DR_CALC_FNAME(PTYPE_L4, false)]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_ptype_l4_set; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + DR_CALC_SET(fc, eth_l2, l4_type, false); + } + + if (m->packet_type & RTE_PTYPE_INNER_L4_MASK) { + fc = &cd->fc[DR_CALC_FNAME(PTYPE_L4, true)]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_ptype_l4_set; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + DR_CALC_SET(fc, eth_l2, l4_type, true); + } + + if (m->packet_type & RTE_PTYPE_TUNNEL_MASK) { + fc = &cd->fc[MLX5DR_DEFINER_FNAME_PTYPE_TUNNEL]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_ptype_tunnel_set; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + DR_CALC_SET(fc, eth_l2, l4_type_bwc, false); + } + + return 0; +} + static int mlx5dr_definer_conv_item_integrity(struct mlx5dr_definer_conv_data *cd, struct rte_flow_item *item, @@ -2332,6 +2489,10 @@ mlx5dr_definer_conv_items_to_hl(struct mlx5dr_context *ctx, ret = mlx5dr_definer_conv_item_ib_l4(&cd, items, i); item_flags |= MLX5_FLOW_ITEM_IB_BTH; break; + case RTE_FLOW_ITEM_TYPE_PTYPE: + ret = mlx5dr_definer_conv_item_ptype(&cd, items, i); + item_flags |= MLX5_FLOW_ITEM_PTYPE; + break; default: DR_LOG(ERR, "Unsupported item type %d", items->type); rte_errno = ENOTSUP; diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.h b/drivers/net/mlx5/hws/mlx5dr_definer.h index f5a541bc17..ea07f55d52 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.h +++ b/drivers/net/mlx5/hws/mlx5dr_definer.h @@ -141,6 +141,13 @@ enum mlx5dr_definer_fname { MLX5DR_DEFINER_FNAME_IB_L4_OPCODE, MLX5DR_DEFINER_FNAME_IB_L4_QPN, MLX5DR_DEFINER_FNAME_IB_L4_A, + MLX5DR_DEFINER_FNAME_PTYPE_L2_O, + MLX5DR_DEFINER_FNAME_PTYPE_L2_I, + MLX5DR_DEFINER_FNAME_PTYPE_L3_O, + MLX5DR_DEFINER_FNAME_PTYPE_L3_I, + MLX5DR_DEFINER_FNAME_PTYPE_L4_O, + MLX5DR_DEFINER_FNAME_PTYPE_L4_I, + MLX5DR_DEFINER_FNAME_PTYPE_TUNNEL, MLX5DR_DEFINER_FNAME_MAX, }; diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h index 903ff66d72..98b267245c 100644 --- a/drivers/net/mlx5/mlx5_flow.h +++ b/drivers/net/mlx5/mlx5_flow.h @@ -233,6 +233,9 @@ enum mlx5_feature_name { /* IB BTH ITEM. */ #define MLX5_FLOW_ITEM_IB_BTH (1ull << 51) +/* PTYPE ITEM */ +#define MLX5_FLOW_ITEM_PTYPE (1ull << 52) + /* NSH ITEM */ #define MLX5_FLOW_ITEM_NSH (1ull << 53) diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c index 6fcf654e4a..34b3c9e6ad 100644 --- a/drivers/net/mlx5/mlx5_flow_hw.c +++ b/drivers/net/mlx5/mlx5_flow_hw.c @@ -5382,6 +5382,7 @@ flow_hw_pattern_validate(struct rte_eth_dev *dev, case RTE_FLOW_ITEM_TYPE_ESP: case RTE_FLOW_ITEM_TYPE_FLEX: case RTE_FLOW_ITEM_TYPE_IB_BTH: + case RTE_FLOW_ITEM_TYPE_PTYPE: break; case RTE_FLOW_ITEM_TYPE_INTEGRITY: /* From patchwork Mon Oct 23 21:07:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Kozyrev X-Patchwork-Id: 133203 X-Patchwork-Delegate: thomas@monjalon.net 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 54B95431E6; Mon, 23 Oct 2023 23:12:54 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F18A5402CB; Mon, 23 Oct 2023 23:12:53 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2056.outbound.protection.outlook.com [40.107.93.56]) by mails.dpdk.org (Postfix) with ESMTP id 75CE940275 for ; Mon, 23 Oct 2023 23:12:52 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aKi7QT2y3+Y+k065bR1DJsxLLOjwiU2wblbJxrEYAn/vGCzZvXq0jyX/i3/I//9KRe3zRuUBwwIlnkQHZeaKbyiybEuaCmVV8PNWynoBz9JRoB+QEabXqboreeXfwGXcCnxEKSc2JKAstVJXjjABL7ksiSftCgqHzoek8XVsqQ6eQzV/aCebltlsJXsnfaXIU/OtNwN1d92sX6pM/AnEhrp1DIuz71qxsgfZjg1YhcxGyl4BiNphhW+tMsdtjHuI2W/xWA0vZJaQhLepFp+WCg8V0KH60qGFeqPiaOqpOHR53gN9MiWIdj3ctT4S1tAD1rAD5O5OOjFxyPl4gtRGSw== 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=jmIl1o0cdVmiLP0K82vCc2JgG86RVuNsHuig2NIiKFA=; b=T39DKrAtQOiZBwJ1s8YEegdrEBsU1WKcQ+eN5TGalon0rWd7eRK1q1cFqxWPw2bywaKhxH/WyfIC3XCcRifwQoECOxdxOSXeSs5Tb80NhUEh689x6VJC7IB2OpoCKEt/sohrrH3Iby9VHpCZ2uhrdHFvOyIYmvWSkPPftKFmURpy+jjywBdW/R0uq86WLrkl+h5j99GT3z9JnOs3viuCVEa3LkIlfngBQ7yXrnCKvrXVhWG/OKtExhzKdCjgo2XIBeMqlya/NCKzhqDxr6hJcLXyehxZ/b7jkHBw18gHa93S89g1pu4mNe/gQ6w1DYIefbn2387GrrbmwCl4zh/d9g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jmIl1o0cdVmiLP0K82vCc2JgG86RVuNsHuig2NIiKFA=; b=r3JIYShIbBs7bT1Ld9PBwcvDScDoJI/ak1OeQTpHf97zj/oQYR1g+lGHEH13BktphNmGeyDQMfyFHBJh3tiX8z8VH+WQSd4oQa03TjUXf8sHzlc/Q3CJiHfadoORWf5p34FRLhVO+uUNalReCDXzRzYBwgO3SABWd80q0J51F/Y5sCg6GKth886Gpsx8fBSkNz3P9eHqBJ17Cn3921a04ktqK2/DA9BVpMaIS0hP/joMhzrQAoFhHMXOsNAJQsXcTkEX6C5tjY+bfRqXiP+AvC793xBuutVyDKu3Mp6qWfS0/hWNcwY0RoUa5anrXyhEiwtrxrzj5YMjxu8itjh/rA== Received: from DM5PR07CA0106.namprd07.prod.outlook.com (2603:10b6:4:ae::35) by BL1PR12MB5078.namprd12.prod.outlook.com (2603:10b6:208:313::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Mon, 23 Oct 2023 21:12:50 +0000 Received: from CY4PEPF0000EDD3.namprd03.prod.outlook.com (2603:10b6:4:ae:cafe::b1) by DM5PR07CA0106.outlook.office365.com (2603:10b6:4:ae::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33 via Frontend Transport; Mon, 23 Oct 2023 21:12:50 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CY4PEPF0000EDD3.mail.protection.outlook.com (10.167.241.207) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.15 via Frontend Transport; Mon, 23 Oct 2023 21:12:49 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 23 Oct 2023 14:07:47 -0700 Received: from pegasus01.mtr.labs.mlnx (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 23 Oct 2023 14:07:36 -0700 From: Alexander Kozyrev To: CC: , , , , , Subject: [PATCH v2 3/7] net/mlx5/hws: add support for fragmented ptype match Date: Tue, 24 Oct 2023 00:07:03 +0300 Message-ID: <20231023210707.1344241-4-akozyrev@nvidia.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20231023210707.1344241-1-akozyrev@nvidia.com> References: <20231009163617.3999365-1-akozyrev@nvidia.com> <20231023210707.1344241-1-akozyrev@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD3:EE_|BL1PR12MB5078:EE_ X-MS-Office365-Filtering-Correlation-Id: 1f4640f7-8fe5-44bc-d541-08dbd40cd02e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6cCkjBh6SQ1jBYriufA0y8KlLJUDLIpYBGiG2cSio9v5xV/DD5nChEMM/G4GdNqApT99UfzRJgVp3cmWcd7xwRg8SX5QH6jWjEK6GgfepAa9Ob6ik5r2xTkULB7yHMP6AjwwjF1YB6jo5k1Rcyf/XzZxF1f/TRXIww3Y/row+wrEHLHOdY9DGIl4xDOi5vLsic2VcDAo7ncjxuGMiudxCICq2vEreVVQoGkbeUMZDb1fRmiErvza/RyTD9sx5FxhvgTiRjcXgAcHsEJ41/tLXuROZoJv7dyKOmbI32tleaLmK5Ts4KaEs/BQ6l2i8e7h17iNKgk5SajslbJFPs5pQKUWXodXzcLP7JhNUvXY4wM0Bdvw8hE+gNWihC1QMgGdlBkQLzoD7ISHoDWvonN1URNlcMqJ5ftivgors+4kIl/vQTuqp8EadObwzQufIHldsy05BcW+3tmvFq2s5JBveudJRW4Qo/lMqpLqxigNIB0+BsiirbrLFuvVWlm0tVloUw50HIopQSekDa7kqMr+0omX7RJRe2TpHGaL4t+jWfvjYTGWjNIFmrVt9NT5lf9S6f5Ix8zrk6q6Jq6jqTPz1ClZDtuAZsroC3nKUU0wIKCVzKyFHrk2lx4LwbNsaNhr/c33iBoZaqLeUUZGyDOjiROsx2k4xEAoyib/O8MiuuScNR6eUqeWsKxzgQZdoOAKoMq51C4uVbP5F/i5dmfeo2PiuCOmENR/1WqBOj+Kxmg6Txdej2Wswmw6e7c0P5esBgVir4WPV+u4z18XHlkq7A== X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230031)(4636009)(396003)(39860400002)(136003)(376002)(346002)(230922051799003)(82310400011)(451199024)(1800799009)(64100799003)(186009)(36840700001)(40470700004)(46966006)(4326008)(8936002)(8676002)(41300700001)(40480700001)(40460700003)(2906002)(5660300002)(47076005)(83380400001)(36860700001)(6666004)(107886003)(16526019)(1076003)(336012)(426003)(2616005)(86362001)(36756003)(356005)(66574015)(7636003)(82740400003)(26005)(478600001)(316002)(70206006)(54906003)(6916009)(70586007)(309714004); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2023 21:12:49.9389 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1f4640f7-8fe5-44bc-d541-08dbd40cd02e X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EDD3.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5078 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 Expand packet type matching with support of the Fragmented IP (Internet Protocol) packet type. Signed-off-by: Alexander Kozyrev --- drivers/net/mlx5/hws/mlx5dr_definer.c | 54 ++++++++++++++++++++++----- drivers/net/mlx5/hws/mlx5dr_definer.h | 2 + 2 files changed, 46 insertions(+), 10 deletions(-) diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c index 8d846984e7..0e1035c6bd 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.c +++ b/drivers/net/mlx5/hws/mlx5dr_definer.c @@ -357,6 +357,19 @@ mlx5dr_definer_ptype_tunnel_set(struct mlx5dr_definer_fc *fc, DR_SET(tag, tun_type, fc->byte_off, fc->bit_off, fc->bit_mask); } +static void +mlx5dr_definer_ptype_frag_set(struct mlx5dr_definer_fc *fc, + const void *item_spec, + uint8_t *tag) +{ + bool inner = (fc->fname == MLX5DR_DEFINER_FNAME_PTYPE_FRAG_I); + const struct rte_flow_item_ptype *v = item_spec; + uint32_t packet_type = v->packet_type & + (inner ? RTE_PTYPE_INNER_L4_FRAG : RTE_PTYPE_L4_FRAG); + + DR_SET(tag, !!packet_type, fc->byte_off, fc->bit_off, fc->bit_mask); +} + static void mlx5dr_definer_integrity_set(struct mlx5dr_definer_fc *fc, const void *item_spec, @@ -1840,19 +1853,40 @@ mlx5dr_definer_conv_item_ptype(struct mlx5dr_definer_conv_data *cd, } if (m->packet_type & RTE_PTYPE_L4_MASK) { - fc = &cd->fc[DR_CALC_FNAME(PTYPE_L4, false)]; - fc->item_idx = item_idx; - fc->tag_set = &mlx5dr_definer_ptype_l4_set; - fc->tag_mask_set = &mlx5dr_definer_ones_set; - DR_CALC_SET(fc, eth_l2, l4_type, false); + /* + * Fragmented IP (Internet Protocol) packet type. + * Cannot be combined with Layer 4 Types (TCP/UDP). + * The exact value must be specified in the mask. + */ + if (m->packet_type == RTE_PTYPE_L4_FRAG) { + fc = &cd->fc[DR_CALC_FNAME(PTYPE_FRAG, false)]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_ptype_frag_set; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + DR_CALC_SET(fc, eth_l2, ip_fragmented, false); + } else { + fc = &cd->fc[DR_CALC_FNAME(PTYPE_L4, false)]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_ptype_l4_set; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + DR_CALC_SET(fc, eth_l2, l4_type, false); + } } if (m->packet_type & RTE_PTYPE_INNER_L4_MASK) { - fc = &cd->fc[DR_CALC_FNAME(PTYPE_L4, true)]; - fc->item_idx = item_idx; - fc->tag_set = &mlx5dr_definer_ptype_l4_set; - fc->tag_mask_set = &mlx5dr_definer_ones_set; - DR_CALC_SET(fc, eth_l2, l4_type, true); + if (m->packet_type == RTE_PTYPE_INNER_L4_FRAG) { + fc = &cd->fc[DR_CALC_FNAME(PTYPE_FRAG, true)]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_ptype_frag_set; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + DR_CALC_SET(fc, eth_l2, ip_fragmented, true); + } else { + fc = &cd->fc[DR_CALC_FNAME(PTYPE_L4, true)]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_ptype_l4_set; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + DR_CALC_SET(fc, eth_l2, l4_type, true); + } } if (m->packet_type & RTE_PTYPE_TUNNEL_MASK) { diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.h b/drivers/net/mlx5/hws/mlx5dr_definer.h index ea07f55d52..791154a7dc 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.h +++ b/drivers/net/mlx5/hws/mlx5dr_definer.h @@ -148,6 +148,8 @@ enum mlx5dr_definer_fname { MLX5DR_DEFINER_FNAME_PTYPE_L4_O, MLX5DR_DEFINER_FNAME_PTYPE_L4_I, MLX5DR_DEFINER_FNAME_PTYPE_TUNNEL, + MLX5DR_DEFINER_FNAME_PTYPE_FRAG_O, + MLX5DR_DEFINER_FNAME_PTYPE_FRAG_I, MLX5DR_DEFINER_FNAME_MAX, }; From patchwork Mon Oct 23 21:07:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Kozyrev X-Patchwork-Id: 133199 X-Patchwork-Delegate: thomas@monjalon.net 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 A5545431E6; Mon, 23 Oct 2023 23:08:02 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 969A840A71; Mon, 23 Oct 2023 23:08:02 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2046.outbound.protection.outlook.com [40.107.223.46]) by mails.dpdk.org (Postfix) with ESMTP id 50EEB40695 for ; Mon, 23 Oct 2023 23:08:01 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TRmP5LUyD3BpmNC5dDEku5qynb4JsNyciURSEh3Ut4vQVx4bBiGuS58bMy3WAMamiSK7bpylcuJlpdzqoQwVHamveH7q+NxS/mpCMgKNc9GPelTkRUNZocomU6oICOZEeSahZ1WOIcNGF5HedLLXmjDHBstV9idu2pEYOZnor3ymPKhtKQm/kriq+bD9OMBlt4kbzhfoWJzZSgo3NIeKWwtqYVTFwsXLBt74rcuFC5pARgCvQRc4fMpD0rYFzeE3ORLNeEYRTGwBXHL+PQXDSoN+7v9boymMsgQWePQW7abGglzGG8dO6JilP2UzryppHehTmSxp4RiHkMNkQXko8A== 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=O8TS19FG+xNIdh17zLJhKW53LhjpJY3+bvkrsFiZL3M=; b=nljybG7Ladvkavk3xjssMQgieHq0DuzGmvX3jT6d2sDjXXehc9FfnfXStTeBEtB6tqlGtCDxNsakxoc97Jv7BISiG33kQJvC6o3Uw7pT3Xu38N8FfBdkTD6Qab58OwWLW3HvgGwmYWn0PEl9VvaHqJ4IvU1hJVRRv563J4luTJiOhPYo+Yd+4ug497huxisyX65WksIUQfxx+N87PMZlQRwSxv0VPLBX/UNwBNyNPbOeeA9H0KN6CJQZjHs2E5re/B0zGRf8sw+aSyxQJpNpW1rSQpdf+myZg8uWhA/Ipz9SmmuZn52AulmBVkxalWMj7gsrws2yVRmOwBCVLt6yng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=O8TS19FG+xNIdh17zLJhKW53LhjpJY3+bvkrsFiZL3M=; b=VXvVFTGyxwyD2FxO0LwRr+8mf2caZlNSmk3kvDQDxy9yuuTzYmMCujk4UtFrZk+i0SLELIupF4YWyo7+J4E6EepWgZXVmZvTz4pCiaXU2CRdnXSrVBFBidaAtcZbGIrG7Wm9Ch2llglWHP9OLYCbKJonibthOU3e6+0mWiEd/rxTLd1NTrpF7fkZmeLVw6HHfG0h4jNNvP6z3LnLwnw0CV9fzo3RXn1g/fQvb4aUp7XnrYSksshUFdTI4Zxgfgn2xDVgdXccnRbkQP+Do7UjjnUO5ZHZDFUVf6D9lc4bBkhhDTqo0BEii0SM6crply+M0XtBt0P2StzoQDD+4CWeog== Received: from PA7P264CA0506.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:3da::28) by SA1PR12MB6870.namprd12.prod.outlook.com (2603:10b6:806:25e::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Mon, 23 Oct 2023 21:07:59 +0000 Received: from SN1PEPF0002BA4B.namprd03.prod.outlook.com (2603:10a6:102:3da:cafe::7d) by PA7P264CA0506.outlook.office365.com (2603:10a6:102:3da::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33 via Frontend Transport; Mon, 23 Oct 2023 21:07:58 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SN1PEPF0002BA4B.mail.protection.outlook.com (10.167.242.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.15 via Frontend Transport; Mon, 23 Oct 2023 21:07:58 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 23 Oct 2023 14:07:54 -0700 Received: from pegasus01.mtr.labs.mlnx (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 23 Oct 2023 14:07:47 -0700 From: Alexander Kozyrev To: CC: , , , , , Subject: [PATCH v2 4/7] doc: add PMD ptype item limitations Date: Tue, 24 Oct 2023 00:07:04 +0300 Message-ID: <20231023210707.1344241-5-akozyrev@nvidia.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20231023210707.1344241-1-akozyrev@nvidia.com> References: <20231009163617.3999365-1-akozyrev@nvidia.com> <20231023210707.1344241-1-akozyrev@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002BA4B:EE_|SA1PR12MB6870:EE_ X-MS-Office365-Filtering-Correlation-Id: a6c40c0e-f788-484f-53a1-08dbd40c223e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nXwjduMLpjlhWNGQbOZ0BC0LHZ2wNtYPcPnIySuwu9JML3DVtqh2nLeSsnNxJ+EtvWxzbaec38ASQcRrzDcbhQmuUmUO4BWshcpdUQTdRMXQIAWeXEE/1sQ91iYTFY29TgxvkJSm3H2NZrsFpWdQHoplCT1MPohjVeujKGyE3NJW+G3vERwEP8l99IzAitZLwDlBgQ+HDKr3VkNqn6yx6hhEdkrL5T9M8PC6zMo2on7rf4X7XYs+aWw2fVOTcNvnUOKIGTGrqPUPhZfeMDTG6o+d3R9HTCbBS46eyzIfNAUn/x1sIvnM6B7uP9EIWQMs6Qtaxgksh7LuY9Oz2hF6zCSL9jTsPRPT7de+nOCpXMi4McVU4IWA7vxMA+D6PDvveKVBNNCPAcPTw428UxH01R/H9xAQhXM6r3JC+bwjRvlOadL/eFD483uWY6a+1IJXopKRqORRk/YZqirv2fiSNj2dxR7LaGIa/HKr4qXx9bMf/uDmkYeBYfulG7atM+NNPBhdmO7MZsCxcCtGQwVpUuj94qVZ/XYT3+heq91r+dfLpRuJqnFyyYWzH5q0gOCdruLXltqh9kDc4GX6+6kF7LfDvMohsrO3JOPuahFUxis8NxpVHBwDf6QOL35057RLhKdcvdHtkKyvaBxFDzhcqUV+v7XbvCjmpzdbnFiKwCgH6kGCWUbe5jpC09fgpO3jlYBcNx+KM6yTeoeSujHgqAVMv28aJWEx5u8yzYxpj2+nvs+JWm78SwR/5JPmtyy9 X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230031)(4636009)(396003)(39860400002)(136003)(376002)(346002)(230922051799003)(82310400011)(451199024)(1800799009)(64100799003)(186009)(36840700001)(40470700004)(46966006)(4326008)(8936002)(8676002)(41300700001)(40480700001)(40460700003)(2906002)(5660300002)(47076005)(83380400001)(36860700001)(6666004)(107886003)(16526019)(1076003)(336012)(426003)(2616005)(86362001)(36756003)(356005)(7636003)(82740400003)(26005)(478600001)(316002)(70206006)(54906003)(6916009)(70586007)(21314003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2023 21:07:58.0856 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a6c40c0e-f788-484f-53a1-08dbd40c223e X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002BA4B.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6870 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: Michael Baum Add limitations for ptype item support in "mlx5.rst" file. Signed-off-by: Michael Baum --- doc/guides/nics/features/mlx5.ini | 1 + doc/guides/nics/mlx5.rst | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/doc/guides/nics/features/mlx5.ini b/doc/guides/nics/features/mlx5.ini index fc67415c6c..e3927ab4df 100644 --- a/doc/guides/nics/features/mlx5.ini +++ b/doc/guides/nics/features/mlx5.ini @@ -86,6 +86,7 @@ nsh = Y nvgre = Y port_id = Y port_representor = Y +ptype = Y quota = Y tag = Y tcp = Y diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index 7086f3d1d4..c9e74948cc 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -646,6 +646,21 @@ Limitations - When using HWS flow engine (``dv_flow_en`` = 2), only meter mark action is supported. +- Ptype: + + - Only supports HW steering (``dv_flow_en=2``). + - The supported values are: + L2: ``RTE_PTYPE_L2_ETHER``, ``RTE_PTYPE_L2_ETHER_VLAN``, ``RTE_PTYPE_L2_ETHER_QINQ`` + L3: ``RTE_PTYPE_L3_IPV4``, ``RTE_PTYPE_L3_IPV6`` + L4: ``RTE_PTYPE_L4_TCP``, ``RTE_PTYPE_L4_UDP``, ``RTE_PTYPE_L4_ICMP`` + and their ``RTE_PTYPE_INNER_XXX`` counterparts as well as ``RTE_PTYPE_TUNNEL_ESP``. + Any other values are not supported. Using them as a value will cause unexpected behavior. + - Matching on both outer and inner IP fragmented is supported using ``RTE_PTYPE_L4_FRAG`` and + ``RTE_PTYPE_INNER_L4_FRAG`` values. They are not part of L4 types, so they should be provided + explicitly as a mask value during pattern template creation. Providing ``RTE_PTYPE_L4_MASK`` + during pattern template creation and ``RTE_PTYPE_L4_FRAG`` during flow rule creation + will cause unexpected behavior. + - Integrity: - Integrity offload is enabled starting from **ConnectX-6 Dx**. From patchwork Mon Oct 23 21:07:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Kozyrev X-Patchwork-Id: 133200 X-Patchwork-Delegate: thomas@monjalon.net 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 ADF24431E6; Mon, 23 Oct 2023 23:08:09 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9D9BB40A81; Mon, 23 Oct 2023 23:08:09 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2077.outbound.protection.outlook.com [40.107.93.77]) by mails.dpdk.org (Postfix) with ESMTP id 98CFA40698 for ; Mon, 23 Oct 2023 23:08:08 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EGxanzdLjOCNgevNJ55/l5hLCc5ndddlorGYsS9z5bYjE7kmwr53/eYwY+tueZ12QhQUaHDJGuMafmVmXfVkN47BLTCTiZrF97J5X6ry2mysH0qZpeblX2bUCgZDE4m7JdQ0vPsvtcwbYZIbxuDtrPuOtA+GnwWAQyTqwSrC/TveUzn34ofk3IJfOkfl8EM0HfF9kARstQLPh2bgL+NwpUKwzukkVL3CtgHCAFscUxfqNFXmLN7R41+a37hWS8Z0+knyjWUvjBeqqm9C3SniNzn9K4gDpVlTAQ+k9+9f9dfIDaByrllOc+/rUrRYVLKlpznMZ4izibhpjSZAGwLpnQ== 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=eLaZDmkCVlB4l8Szhe7vxSNLlo64LHaklsIW/NJMoiY=; b=KpvYCh268TxGfUTq21I26cXU2SD84Xv5h+pggD6lRGjJ+COmOIV72pwDLEfPBhzbtu+GGX/28PMvy2hvhQue7bJ3lNkbcVpBRexbpuTq4NLucHXy3twJZSkkOoBtJaX9FGQe58XLKvQ1VYUrthVxnOMYMUhx0DIR1397D1WQySlXHFGo66v8o+GHScRPlpML43T6CltdVx1Wp6/nwAuMroX6iGZg86tPUnDqjLkii+YhAF7mMC59UMb+VbS505knF+HRbCskDNCtrazSQwutuy98RZ9eabLgRtdKmWWEUTOuR+ihAyuVHDrCpQV0UBtWOA2pHqK2r3+kB1QbYSecyA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eLaZDmkCVlB4l8Szhe7vxSNLlo64LHaklsIW/NJMoiY=; b=SdI+k6OLrWGplX5XYiaUrSAfQu6eqF/HkX+jYbJlcccEIaIU0rSg4YUgUI0z6/gAs73pgTZdzFT4cuXo/upF3H+CmwFDt8bl/nG18ftVrKfjWC0W+Y/NCBXms74joVaKXZBj/LoXwSLtzN3E5w82pkRszr7qj1hcCqa+1i2br6KUCLP/xTLvHJq731ip42nPwFR5H4LRQyud7W6/wC38L6hNs5YrmeeU6HKMOmthN2R+wjewM7OyV0GzoEScJBjtEv3eM+o0TWFPht5RiNpXmWtdjzlrNLELseiolW9K6mWtInLUr872YHPW+PE9BBPgJIbX1uCgtbUKlqe/02+T+A== Received: from PA7P264CA0493.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:3da::18) by CH2PR12MB4955.namprd12.prod.outlook.com (2603:10b6:610:68::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Mon, 23 Oct 2023 21:08:05 +0000 Received: from SN1PEPF0002BA4B.namprd03.prod.outlook.com (2603:10a6:102:3da:cafe::4b) by PA7P264CA0493.outlook.office365.com (2603:10a6:102:3da::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.34 via Frontend Transport; Mon, 23 Oct 2023 21:08:04 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SN1PEPF0002BA4B.mail.protection.outlook.com (10.167.242.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.15 via Frontend Transport; Mon, 23 Oct 2023 21:08:04 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 23 Oct 2023 14:08:00 -0700 Received: from pegasus01.mtr.labs.mlnx (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 23 Oct 2023 14:07:54 -0700 From: Alexander Kozyrev To: CC: , , , , , Subject: [PATCH v2 5/7] doc: add packet type matching item to release notes Date: Tue, 24 Oct 2023 00:07:05 +0300 Message-ID: <20231023210707.1344241-6-akozyrev@nvidia.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20231023210707.1344241-1-akozyrev@nvidia.com> References: <20231009163617.3999365-1-akozyrev@nvidia.com> <20231023210707.1344241-1-akozyrev@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002BA4B:EE_|CH2PR12MB4955:EE_ X-MS-Office365-Filtering-Correlation-Id: 9aa8d573-478e-427e-4ed2-08dbd40c25e7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 62C/ik9M1d9YcglqG4EiPwf4R0PnqOBqIpFLny595hMeZpyREFxKPGQgK8iYZFo72axDOctH8Cn6MmEARsoGHUhHPKh9DEiKnrOP7G3l3jko4YmVYVBb50sbMOLflI69czXxZqRvs6bjl+vJF6QM4bXc8t/IHCbYzULPn/Ofy0jehxPxYjmpI2VGUSkq7RflR1ZFf20zg8qLppZwenQfnZ6SCROb3opBlyxlUszCcjaIq0GSNg8GfCD0YB2oWZtnKobASaKCcstRsdhwbLOTrEF8D7al/OjkNOZJn7WA1LM93AxuXr4pPAtxuVPkiXErHuhXi8JeC5NB+M8OToxuTmbpnSGqoyrKOMlKNLez3ooU/2U9OSDRUnnM+78uDbo+2gXxEo1Y6XaPu/7eW24LwNn4JGjvMYLdcsOHIMbtHyJQ95JIDwmfW5gzxeWc9Qfgr1xuXvXxcwKpM8LOjPlIcIjA9PLXR7DvBetcosaFyU51Wp92gV0QEbns4275lp8w2tGihOoRrEH4Zef4TwVYCFRZoHNHhGWBpyrEBBPDrcH5dOjMeBMjjJJKA13Ht8fzHBWHBXWxsE+8/jkCYvqLUrfoWWCFtvmb1PRKEiODTc4WVKPrRwPrLkZUYvSneRGa3IKmTJK+aWk8Z5A9vhSNp01PTJR6yRHyu2+ExU6LxrzOtuQwU4ts00apGU/tCzTbMKD8sovCq4J9eQ2IGdjc5UriVY9BuhjrU8fmWtbhEmo= X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230031)(4636009)(136003)(39860400002)(376002)(346002)(396003)(230922051799003)(451199024)(82310400011)(1800799009)(186009)(64100799003)(46966006)(36840700001)(40470700004)(26005)(41300700001)(2906002)(4744005)(36860700001)(86362001)(40460700003)(36756003)(5660300002)(8676002)(8936002)(4326008)(70586007)(70206006)(2616005)(16526019)(478600001)(6666004)(7636003)(107886003)(1076003)(54906003)(6916009)(316002)(356005)(82740400003)(83380400001)(40480700001)(336012)(426003)(47076005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2023 21:08:04.1950 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9aa8d573-478e-427e-4ed2-08dbd40c25e7 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002BA4B.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4955 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 Document new RTE_FLOW_ITEM_TYPE_PTYPE in the release notes. Signed-off-by: Alexander Kozyrev --- doc/guides/rel_notes/release_23_11.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/guides/rel_notes/release_23_11.rst b/doc/guides/rel_notes/release_23_11.rst index 0a6fc76a9d..548e38cde4 100644 --- a/doc/guides/rel_notes/release_23_11.rst +++ b/doc/guides/rel_notes/release_23_11.rst @@ -122,6 +122,10 @@ New Features a group's miss actions, which are the actions to be performed on packets that didn't match any of the flow rules in the group. +* **Added ptype matching criteria.** + Added ``RTE_FLOW_ITEM_TYPE_PTYPE`` to allow matching on L2/L3/L4 + and tunnel information as defined in mbuf packet type. + * **Updated Intel cpfl driver.** * Added support for port representor. From patchwork Mon Oct 23 21:07:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Alexander Kozyrev X-Patchwork-Id: 133201 X-Patchwork-Delegate: thomas@monjalon.net 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 09E99431E6; Mon, 23 Oct 2023 23:08:18 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 26C9740DF8; Mon, 23 Oct 2023 23:08:13 +0200 (CEST) Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2043.outbound.protection.outlook.com [40.107.102.43]) by mails.dpdk.org (Postfix) with ESMTP id 19CB0402E7 for ; Mon, 23 Oct 2023 23:08:10 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q+wXqWl9FknD+y+yL4uHnNF0wdQETy1BfO3CQkD3ZRvvc7uCBANe2poXRGOz+r4ugRFPMiaTvJ2h23PXMTvcRz8drEIGTnQLm7CVmZDS81imR5OJSuJ+tYQCbO1/CJr/J99pg9TUKOnXSQsYFYPmuRaCL5dvFE/IoACLqa3fL8Ry3tDCs58fHQTYFYfjhQh84l9b8fYhn+rZWO2iPHDz/2xjS7jDeurbVt4JwF6NrmUjKxfypFctzsPuKm3/Tn08U2PKaN7i6TPpnkZgg3jD5IiwYmZjlzTpQVDPdLnLg1brwdMQwqs1HFlShIYgvoJSFUiOMOqD0E8aDV5ce7azkQ== 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=kQUF8X4M7+FxEs9vxpyGGh9qHxbmhF3VVk3fkSB/cUM=; b=dmxMrfM/xCv0BvCPxWo7ZCP0ywjR98l13bidHUs6BfQDZCEgRhQojkro500fYm4mNrnjEtZLSvfGb6v+q+mrKVLMM5aXmLOAQtWM/xI0EsdeHf3+0mvR0jVAGtFKgTiOxseRHYX9AG6xbDSjfwx38K407gDXkNCDd40O+i6tZWAQIh+lGfU+bjlQvo2w3QuAS5WVGU9Vw28BSF0HJH1Teg8ABjfHGzXPkbAd1wv/BGTghatw+5IpSNZDn4F+5dEPRwZEr7HOz7w0ySJkWLwXzMNJ/3ew4hZ71pkcdTXtABjyV3sMa+lmthESowwldUqMCJ+SBc2V3RyKvx3wByj0vQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kQUF8X4M7+FxEs9vxpyGGh9qHxbmhF3VVk3fkSB/cUM=; b=fv052hDorVRm/L76E+KjgAYbsY67KbW1dt4VS60aJ8S7zQbcNtbWwm8q/iAjhDkzN3a5Twn7v/pawNe5rFyEfoLzU+pfxQ0E+Yg2Owkb4p6rVMr1bynxPl75LM6PJR49hdXKnE9Zcm8qQvzfe/a9Y952XqoRwhfBV6/1+Sm63HoZRdIQq/swc8LwflihCMzl2QNW2UwxSKcmnlgE3trwEKaJZuLZlqSVKqztfFh3M+mHvFvtVmvaM9MdRhxUCQbeADvY/fPDdbZjPDz3auSSyi/i1KSyz0vsUxPLapPkC/3falQGjxNjvHXnC4yaM7Eab7aOjTeZvKYi7tpGjbtjkw== Received: from CYXPR03CA0011.namprd03.prod.outlook.com (2603:10b6:930:d0::19) by DS0PR12MB8366.namprd12.prod.outlook.com (2603:10b6:8:f9::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.26; Mon, 23 Oct 2023 21:08:08 +0000 Received: from CY4PEPF0000EDD2.namprd03.prod.outlook.com (2603:10b6:930:d0:cafe::5a) by CYXPR03CA0011.outlook.office365.com (2603:10b6:930:d0::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33 via Frontend Transport; Mon, 23 Oct 2023 21:08:08 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CY4PEPF0000EDD2.mail.protection.outlook.com (10.167.241.206) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.15 via Frontend Transport; Mon, 23 Oct 2023 21:08:08 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 23 Oct 2023 14:08:07 -0700 Received: from pegasus01.mtr.labs.mlnx (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 23 Oct 2023 14:08:01 -0700 From: Alexander Kozyrev To: CC: , , , , , Subject: [PATCH v2 6/7] net/mlx5/hws: remove csum check from L3 ok check Date: Tue, 24 Oct 2023 00:07:06 +0300 Message-ID: <20231023210707.1344241-7-akozyrev@nvidia.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20231023210707.1344241-1-akozyrev@nvidia.com> References: <20231009163617.3999365-1-akozyrev@nvidia.com> <20231023210707.1344241-1-akozyrev@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD2:EE_|DS0PR12MB8366:EE_ X-MS-Office365-Filtering-Correlation-Id: 52cff8e4-51bf-4f40-3877-08dbd40c2828 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JBzlN/TqBgZWx9QKurH9Zvsb8kvVqkt3Bzjim3oPHkNCvn2vFR85kWD4cUKpXSMnsM7v1BO0InkaU8gvSwC8VAmYa0okWW4KRxpC4rAdhlDCNKRiLv4fregwP31e14Z6pWBpk3aakbaQdZKptNZVXgUgCU2DdF8zaRCygYrbFYvefKJDqb7cvtDGy5w0t2XsnP7wl/M16GNLzcYlNFyEzMclT65wJPToIhleX/KC0LKdrYyz+KBznUZmEQnZtw16JeXTgNqjTh4Jcb6gt/doXfMTtN2O0h1oKo4TYvvDDjAc41SGu0jn7c/jygG70JC6Gwo+IGeqAfwtORx33vjZYLo7V9t3ibgR97ohC5kKMK7sCn9gjXXBoKx79MqFYgnpcezyluGL9bNsxP9UyqJ4kHxnward8RohkOdz5KbBYd9W0v9QANG5IxZJWIrCNTTmg9UsRs5u4KgJdLyXJhbrPri03+ixGXruS4hAinj4mCvzBjABXYFmHdwRtb12hquZ6nygF0otjMHDPiR/oEDf56sAaFfkWDVJFNMJc0BLALAwi0Wa/nmlQcnT4kdQkNumfBU1Y0E4wedMw/u5IC1MQ2LzEDSMe4wBnjZU6vZB+71lG3gEE1VeveqbMFGN1d+WGnJ2TpGJVoLTN1j/DqM1CSIIc5HJXIPefJds/C6bSLQ9VMwxWACKiR4eSYSjCAMsOUGlewiSXnfxhZztNhTBhNn5lJZhMJ6ywyrwGdjVnvMc5joXYEVuzHD+y3U6c9ow X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230031)(4636009)(346002)(396003)(376002)(39860400002)(136003)(230922051799003)(186009)(64100799003)(451199024)(82310400011)(1800799009)(40470700004)(46966006)(36840700001)(40460700003)(86362001)(2906002)(47076005)(83380400001)(7636003)(41300700001)(36860700001)(36756003)(16526019)(1076003)(5660300002)(26005)(82740400003)(40480700001)(336012)(356005)(2616005)(107886003)(426003)(8936002)(8676002)(478600001)(70206006)(70586007)(54906003)(316002)(4326008)(6916009); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2023 21:08:08.0384 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 52cff8e4-51bf-4f40-3877-08dbd40c2828 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EDD2.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8366 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: Michael Baum This patch changes the integrity item behavior for HW steering. Old behavior: the "ipv4_csum_ok" checks only IPv4 checksum and "l3_ok" checks everything is ok including IPv4 checksum. New behavior: the "l3_ok" checks everything is ok excluding IPv4 checksum. This change enables matching "l3_ok" in IPv6 packets since for IPv6 packets "ipv4_csum_ok" is always miss. For SW steering the old behavior is kept as same as for L4 ok. Signed-off-by: Michael Baum --- doc/guides/nics/mlx5.rst | 19 ++++++++++++------- drivers/net/mlx5/hws/mlx5dr_definer.c | 6 ++---- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index c9e74948cc..5115df12c8 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -663,18 +663,23 @@ Limitations - Integrity: - - Integrity offload is enabled starting from **ConnectX-6 Dx**. - Verification bits provided by the hardware are ``l3_ok``, ``ipv4_csum_ok``, ``l4_ok``, ``l4_csum_ok``. - ``level`` value 0 references outer headers. - Negative integrity item verification is not supported. - - Multiple integrity items not supported in a single flow rule. - - Flow rule items supplied by application must explicitly specify network headers referred by integrity item. - For example, if integrity item mask sets ``l4_ok`` or ``l4_csum_ok`` bits, reference to L4 network header, - TCP or UDP, must be in the rule pattern as well:: + - With SW steering (``dv_flow_en=1``) + - Integrity offload is enabled starting from **ConnectX-6 Dx**. + - Multiple integrity items not supported in a single flow rule. + - Flow rule items supplied by application must explicitly specify network headers referred by integrity item. + For example, if integrity item mask sets ``l4_ok`` or ``l4_csum_ok`` bits, reference to L4 network header, + TCP or UDP, must be in the rule pattern as well:: - flow create 0 ingress pattern integrity level is 0 value mask l3_ok value spec l3_ok / eth / ipv6 / end … + flow create 0 ingress pattern integrity level is 0 value mask l3_ok value spec l3_ok / eth / ipv6 / end … - flow create 0 ingress pattern integrity level is 0 value mask l4_ok value spec l4_ok / eth / ipv4 proto is udp / end … + flow create 0 ingress pattern integrity level is 0 value mask l4_ok value spec l4_ok / eth / ipv4 proto is udp / end … + + - With HW steering (``dv_flow_en=2``) + - The ``l3_ok`` field represents all L3 checks, but nothing about whether IPv4 checksum ok. + - The ``l4_ok`` field represents all L4 checks including L4 checksum ok. - Connection tracking: diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c index 0e1035c6bd..c752896ca7 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.c +++ b/drivers/net/mlx5/hws/mlx5dr_definer.c @@ -380,10 +380,8 @@ mlx5dr_definer_integrity_set(struct mlx5dr_definer_fc *fc, uint32_t ok1_bits = 0; if (v->l3_ok) - ok1_bits |= inner ? BIT(MLX5DR_DEFINER_OKS1_SECOND_L3_OK) | - BIT(MLX5DR_DEFINER_OKS1_SECOND_IPV4_CSUM_OK) : - BIT(MLX5DR_DEFINER_OKS1_FIRST_L3_OK) | - BIT(MLX5DR_DEFINER_OKS1_FIRST_IPV4_CSUM_OK); + ok1_bits |= inner ? BIT(MLX5DR_DEFINER_OKS1_SECOND_L3_OK) : + BIT(MLX5DR_DEFINER_OKS1_FIRST_L3_OK); if (v->ipv4_csum_ok) ok1_bits |= inner ? BIT(MLX5DR_DEFINER_OKS1_SECOND_IPV4_CSUM_OK) : From patchwork Mon Oct 23 21:07:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Kozyrev X-Patchwork-Id: 133202 X-Patchwork-Delegate: thomas@monjalon.net 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 8FB9D431E6; Mon, 23 Oct 2023 23:08:25 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7BD8340698; Mon, 23 Oct 2023 23:08:25 +0200 (CEST) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2064.outbound.protection.outlook.com [40.107.95.64]) by mails.dpdk.org (Postfix) with ESMTP id 90DAD402E1 for ; Mon, 23 Oct 2023 23:08:21 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GdLogrpnDW5E65uklBIa6+0amC/3+KIZJT7RCorqt+uUw2yJ1eAOqBVDhdqQtC32LXHRMft27LghJaRJWV2Q5D3Wj4E+YQDcIlak18RFhqXE+6EFa3g9DC492fHEbdMi04kFpdqwrlynNxFb76N4X6Antxj20rOdnY25zq94tX/WCyG8tkNvtjzk8X41xq0plqiEq361UyQDuQqShDl/P9MISvlwEi08GHgq+i4PYJzqgXloozVgvYPeMqv+/gXrFE/WtMLP1YDHzLFm8tw1TykQpu4i08Isl2b0g6H5VUPrpjnmvRgp09Qxugd6CPoHek/0hqDHKiJK8rHnDGBFSQ== 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=doVg3uloVj0g4isFYPoHdrJRqmk4hf5XRqDqwcYQMWM=; b=ehZMdwkUqYYCKwZfTgvXcYcus9M0ncXUk8PxBRlTKY59YnLIOv1yTsKLgetlrZhc6UP+lSUqCZqSzmYHMmVxIUzYXDf7xVpuFmzznyDzEWxB6BoBn1tjZBKdjBhSZ6qG3wf3yyxC7UEtQepyiXvsbY4ZgCtA2nFd/TnjqbGFUzT0ztnyUycAhfsRUWedGpZ5KEqDUDUOVfiEkGOPSQNnvr/fc05zo9JkHQFEptf+8BXO4E2wj1Wh+O13B2wc9jFd2/pqktbYeCcFw9/pGh08cNQtgbhBxKMKc63VVWE1OCL8YuldBP68Cv45SKLdIZc9CThagVVgT4Vj9fM457S1DQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=doVg3uloVj0g4isFYPoHdrJRqmk4hf5XRqDqwcYQMWM=; b=Dq4xddHgJWPQAGuXIC6C6kyNUjDmnh7QbAHf9jWdUPoghv4M15P0phTh9MqEHl0mjsMPwE1Z9P42RXFZ85eg1cSkCTe7vX4pV2aMOqAHZD983DF9ufpwfGP86P7J0wYopt3Ok4AJM6qYODAjm/yAbvaHiYgUUswQarZOLPlfuBPI0KS0LYhkXj5ZYQwTmsggxStnto0PYFypGKmN/fGh7tKYnNVuY2Nx9ctsc9cYUWmwCqyJE+/r9Z5/iWYOUvWaCb8TB8onP3VrTdQVRVg8ih0ctbwdBwBBwYitjKhUnblfVJq7aGNglnS5h6nGIOS9qNnnQWZno5NrADrVVMHbYg== Received: from PA7P264CA0514.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:3da::11) by MN0PR12MB6056.namprd12.prod.outlook.com (2603:10b6:208:3cc::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.26; Mon, 23 Oct 2023 21:08:19 +0000 Received: from SN1PEPF0002BA4B.namprd03.prod.outlook.com (2603:10a6:102:3da:cafe::2d) by PA7P264CA0514.outlook.office365.com (2603:10a6:102:3da::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33 via Frontend Transport; Mon, 23 Oct 2023 21:08:19 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SN1PEPF0002BA4B.mail.protection.outlook.com (10.167.242.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.15 via Frontend Transport; Mon, 23 Oct 2023 21:08:18 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 23 Oct 2023 14:08:10 -0700 Received: from pegasus01.mtr.labs.mlnx (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 23 Oct 2023 14:08:07 -0700 From: Alexander Kozyrev To: CC: , , , , , Subject: [PATCH v2 7/7] net/mlx5/hws: fix integrity bits level Date: Tue, 24 Oct 2023 00:07:07 +0300 Message-ID: <20231023210707.1344241-8-akozyrev@nvidia.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20231023210707.1344241-1-akozyrev@nvidia.com> References: <20231009163617.3999365-1-akozyrev@nvidia.com> <20231023210707.1344241-1-akozyrev@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002BA4B:EE_|MN0PR12MB6056:EE_ X-MS-Office365-Filtering-Correlation-Id: f53729cd-b256-4ac4-fa0b-08dbd40c2e92 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wPUqg+kcnkMLvvpdxWBKKTpdSqq2uKa6O/LrrQ20dZoavWaAc2VJc8Uh6oItGpUtQq/adP5LKUHp0BqirnSaITDjjhWRsQY30wk43vKCifha1mpjSjb1n8BZxCpUoO0DfiszCN/3PntxE0iWistcDjcdGGNbwLpbFDYv03ck7s9xJlsYVGeqbJNucU+1nkJIGT6esJ4aVx2dHHm90ou5uXrwXSoj9NFhncSmyFMqFtKrmoqTmTmn+TFu6TweJeo2Dz6AwcpKihRmVcUuufbSsDvpWff+VsYiE8GtySEp0Q/PclrTAvyIypEsJFIaSUSTXbm63qusAgnLPjPSLMcBtv98Zdms8Cvdx6Qnw+iPIMUflFiTd42F+PsPqCLbXFhG/YU2IuP4i5fYdtuIkByClzeWyztODsrgLl0Bgzh2bxvQ1M+HONydjGzxSkzTQAA7W2AgOlwkIvV/7I6qPhOO9OnyHWLwIliIQcg4TRWF/nDlXkBiPXxqhNpnIedSDlLHTUcAOehrC+3y24JHtg+pto+0QC0AcBogAW+Sja0+mc6glq9L4LdGyhD5yT66vmJBHCTBlWEw8p0fEezxuY9GW663n66n3nF5D5T0iRZeWkHzAdMg87lhu3qVBypVvZ553j0Doq9JXVEyq/8mga0935403GA+uFjtPArQcQuPAbGTQKvPn1LM6HkVEdfJdt/igaAMOo6oBqGvG7hg5U22aZoCWlzYJ4kEPCCBLUwV9d0HKFWjQSpjV1haR5T8qQVI X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230031)(4636009)(346002)(39860400002)(396003)(376002)(136003)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(82310400011)(40470700004)(46966006)(36840700001)(40460700003)(8676002)(86362001)(6916009)(36756003)(41300700001)(4326008)(2906002)(1076003)(7636003)(47076005)(40480700001)(356005)(16526019)(5660300002)(26005)(2616005)(82740400003)(36860700001)(336012)(83380400001)(107886003)(426003)(70206006)(478600001)(8936002)(70586007)(54906003)(316002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2023 21:08:18.7731 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f53729cd-b256-4ac4-fa0b-08dbd40c2e92 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002BA4B.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6056 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 The level field in the integrity item is not taken into account in the current implementation of hardware steering. Use this value instead of trying to find out the encapsulation level according to the protocol items involved. Fixes: c55c2bf35333 ("net/mlx5/hws: add definer layer") Signed-off-by: Alexander Kozyrev --- drivers/net/mlx5/hws/mlx5dr_definer.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c index c752896ca7..f1f9235956 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.c +++ b/drivers/net/mlx5/hws/mlx5dr_definer.c @@ -1905,7 +1905,6 @@ mlx5dr_definer_conv_item_integrity(struct mlx5dr_definer_conv_data *cd, { const struct rte_flow_item_integrity *m = item->mask; struct mlx5dr_definer_fc *fc; - bool inner = cd->tunnel; if (!m) return 0; @@ -1916,7 +1915,7 @@ mlx5dr_definer_conv_item_integrity(struct mlx5dr_definer_conv_data *cd, } if (m->l3_ok || m->ipv4_csum_ok || m->l4_ok || m->l4_csum_ok) { - fc = &cd->fc[DR_CALC_FNAME(INTEGRITY, inner)]; + fc = &cd->fc[DR_CALC_FNAME(INTEGRITY, m->level)]; fc->item_idx = item_idx; fc->tag_set = &mlx5dr_definer_integrity_set; DR_CALC_SET_HDR(fc, oks1, oks1_bits); @@ -2471,8 +2470,7 @@ mlx5dr_definer_conv_items_to_hl(struct mlx5dr_context *ctx, break; case RTE_FLOW_ITEM_TYPE_INTEGRITY: ret = mlx5dr_definer_conv_item_integrity(&cd, items, i); - item_flags |= cd.tunnel ? MLX5_FLOW_ITEM_INNER_INTEGRITY : - MLX5_FLOW_ITEM_OUTER_INTEGRITY; + item_flags |= MLX5_FLOW_ITEM_INTEGRITY; break; case RTE_FLOW_ITEM_TYPE_CONNTRACK: ret = mlx5dr_definer_conv_item_conntrack(&cd, items, i);