From patchwork Sun Sep 10 14:03:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Erez Shitrit X-Patchwork-Id: 131325 X-Patchwork-Delegate: rasland@nvidia.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 68EA742568; Sun, 10 Sep 2023 16:04:17 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id ECF3F40267; Sun, 10 Sep 2023 16:04:16 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2071.outbound.protection.outlook.com [40.107.93.71]) by mails.dpdk.org (Postfix) with ESMTP id 5E1CE40156 for ; Sun, 10 Sep 2023 16:04:15 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q1Crm34Flc3x7XRMAuFtVGjKDZXwmXcpoNImxcRuJgcDncXxqP9kzgv5UW9xkS1kHP5vo90MSK00fmrfjdoNtxbtRQBuxEVHadS6D3bF2kLznztdDvnjDYtdW4Ka0LL98TAc+1t0ActsqayCtCLbrg43qH500gLt75mNh+YBerwjyH1Df8yGi+1ChVLlDLSFjD2Igzv4EWFkeqtNYwZlT5B9L08oJ+fyKTTjLMQ4kzL6QPy8jC+GLKm8XGMMoVXxXKWv/2yNeyty9Ph+3IxH0oQMG/3ytoTRaHI/9tbMwTW/lgKJnrvbs3fwMOyoRqfDe1x+0nSudjVPOJsycvU6jA== 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=3F1ATwxA+R9LJeJ4u8Mcww1wLR+NW3gCLD8fZ2By4UQ=; b=RzOBVmUrFj05niCGWKdSuDvwp2zBXIBIH6fBSms6sU8lG7uLmROZHBb+ndPEuKuPiYz74Z10/MG0n7TPtpsJClMvFHV3hC/bInLi/KTXtpiyNUPjWvqw1994+0BBEB+NlDgR9n0EAISDemfqrWO8usJWkCnICe8RNNnuNMBXNpW5P+AfAQYw+dq4OFGtMPu44F2Wf1/wKR6UpBq1XFuCerRFM7vZdyoC5pcqMSlasHJIxUuWUlj0+OZZBU3dNjiLuQIGHcy6VTMFtyH7cwUpmeIX5VepH/cGaiwrOkH+sdXr3yhP6gAYscepOBBfLbTxDoQmfxoZtcHtXGVJ/A9eFg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=monjalon.net 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=3F1ATwxA+R9LJeJ4u8Mcww1wLR+NW3gCLD8fZ2By4UQ=; b=lzUN2Lh9ye7UUcHcWCpK6RO82Sq2V9HuXG8rw0hK7OG+apF+sxU1iZ9QQzz16DAI0Mz6u+pEdmbqIR8Xm08EQnMIyI0IRkgEvIdUUcSU2oEoPE/zQmARi8DcNSw8GlrLJaHFX/yG0I1VkOJslzVD7o1Dap2TYNjF6VVvookapeWFSAvhRW+MoZ7wUQ1wQ8lLS5X6ik7z/ifWUE/1YncG7HISFvF4/tlp5O2r6H8R1cTdlzfvdbNfLgq+HoSW2KBTtV9D75RAhOmRuqJ2ZhtpmgT2zBidXnNqIT5lKWVrUaLW+Jf1KLVCJhE2guCds8IZKT/kYxBoQ+E31ZWq0g79fQ== Received: from BLAPR05CA0032.namprd05.prod.outlook.com (2603:10b6:208:335::13) by SN7PR12MB7107.namprd12.prod.outlook.com (2603:10b6:806:2a2::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.31; Sun, 10 Sep 2023 14:04:13 +0000 Received: from MN1PEPF0000ECD6.namprd02.prod.outlook.com (2603:10b6:208:335:cafe::dc) by BLAPR05CA0032.outlook.office365.com (2603:10b6:208:335::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.15 via Frontend Transport; Sun, 10 Sep 2023 14:04:13 +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 MN1PEPF0000ECD6.mail.protection.outlook.com (10.167.242.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.11 via Frontend Transport; Sun, 10 Sep 2023 14:04:12 +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.5; Sun, 10 Sep 2023 07:04:04 -0700 Received: from nvidia.com (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.37; Sun, 10 Sep 2023 07:04:02 -0700 From: Erez Shitrit To: , , , "Matan Azrad" , Viacheslav Ovsiienko , "Ori Kam" CC: Subject: [PATCH 1/4] net/mlx5/hws: allow relaxed mode in MPLS matching Date: Sun, 10 Sep 2023 17:03:16 +0300 Message-ID: <20230910140319.3064208-1-erezsh@nvidia.com> X-Mailer: git-send-email 2.18.2 MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD6:EE_|SN7PR12MB7107:EE_ X-MS-Office365-Filtering-Correlation-Id: 8e0c4d65-a5a4-4376-e896-08dbb206cff5 X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IHmGn3maP7gAH5S7uy5v3Pli9uwP1KFwGm8/ecHmZpM84j9pXBurHkAAd9L4hXbR2o0eizRi8gVoNiNXvPunDnS2qUz0sxUi4sywYcGNmvhZeeabXfCtATt8tDpET2jYKj/2sQVl7EYqY/YIxcbtku6dUGlW/2IzckH7yQTfVY0MS/DUI3fNNaQFA9SMQesjSFAywlaq7QCEhSiotPLsXuSGAiinoSeGh6fBadWlq2AlCdKVOoaluwa190pmbvlSKKdJbwrIeEfYz+zFCPPZdmMDU3mucRnLEPNLh9UZTpw4rRgk6Fn5FBRSyBQmITW/Ugcdk4gCW6I/W2k8TixLWnBt150eC3FsNk5CWxf8RjyNtR8LnocG0C93top0xDWdBHh7s7IOwPuwY3Taj60Pb1tgCQxfm2IGweG07tYDrkKgInAssly5sM8Mjyb3iYvCZppfn8fM1K/1XWwfMWcG8apcMbrPFTVlaT6ZgkgbraziXeZpbIsTq/4wtH2JFcg9pm1lbGrYWtHJMnpYyYJfg+Dj5lPmo4UOKGu4vpxcViGTqNouDYGTwkE3oFx5ErDrqb2WsveDLEKThetISYZbQ2Qi91o772aGrlbzfi2WPG94cBc0OrSx52Z6mRBacc4T8MrBDXBs+HjddlfGy3yHcvhISqn+7KslmXso068NE1iMo8vsCuW00nkJ5mHe1wOw/7Xi504kH1ccDhOsGi9Tjy62RFDHNGk/7aaCGZ55VyeKBCRO7aOsLkckee9U/jcN 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)(136003)(39860400002)(376002)(346002)(82310400011)(451199024)(1800799009)(186009)(36840700001)(46966006)(40470700004)(7636003)(6666004)(7696005)(40460700003)(36860700001)(86362001)(36756003)(40480700001)(82740400003)(55016003)(356005)(47076005)(1076003)(2616005)(6286002)(336012)(16526019)(426003)(83380400001)(478600001)(41300700001)(110136005)(4326008)(316002)(70206006)(70586007)(6636002)(8936002)(8676002)(5660300002)(26005)(2906002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2023 14:04:12.9573 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8e0c4d65-a5a4-4376-e896-08dbb206cff5 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: MN1PEPF0000ECD6.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7107 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 Remove the previous constrain on relaxed mode, that way it will be like all other matching items, can be used in relaxed or non-relaxed mode. The previous constrain was due to HW limitation that supports MPLS over specific UDP port, now we give the ability to the user to make sure it is with the right needs for MPLS matching. Signed-off-by: Erez Shitrit Reviewed-by: Alex Vesker Acked-by: Matan Azrad --- drivers/net/mlx5/hws/mlx5dr_definer.c | 45 ++++++++++----------------- 1 file changed, 17 insertions(+), 28 deletions(-) diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c index 33d0f2d18e..88f22e7f70 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.c +++ b/drivers/net/mlx5/hws/mlx5dr_definer.c @@ -1320,35 +1320,24 @@ mlx5dr_definer_conv_item_mpls(struct mlx5dr_definer_conv_data *cd, return rte_errno; } - if (cd->relaxed) { - DR_LOG(ERR, "Relaxed mode is not supported"); - rte_errno = ENOTSUP; - return rte_errno; - } - - /* Currently support only MPLSoUDP */ - if (cd->last_item != RTE_FLOW_ITEM_TYPE_UDP && - cd->last_item != RTE_FLOW_ITEM_TYPE_MPLS) { - DR_LOG(ERR, "MPLS supported only after UDP"); - rte_errno = ENOTSUP; - return rte_errno; - } - - /* In order to match on MPLS we must match on ip_protocol and l4_dport. */ - fc = &cd->fc[DR_CALC_FNAME(IP_PROTOCOL, false)]; - if (!fc->tag_set) { - fc->item_idx = item_idx; - fc->tag_mask_set = &mlx5dr_definer_ones_set; - fc->tag_set = &mlx5dr_definer_udp_protocol_set; - DR_CALC_SET(fc, eth_l2, l4_type_bwc, false); - } + if (!cd->relaxed) { + /* In order to match on MPLS we must match on ip_protocol and l4_dport. */ + fc = &cd->fc[DR_CALC_FNAME(IP_PROTOCOL, false)]; + if (!fc->tag_set) { + fc->item_idx = item_idx; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + fc->tag_set = &mlx5dr_definer_udp_protocol_set; + DR_CALC_SET(fc, eth_l2, l4_type_bwc, false); + } - fc = &cd->fc[DR_CALC_FNAME(L4_DPORT, false)]; - if (!fc->tag_set) { - fc->item_idx = item_idx; - fc->tag_mask_set = &mlx5dr_definer_ones_set; - fc->tag_set = &mlx5dr_definer_mpls_udp_port_set; - DR_CALC_SET(fc, eth_l4, destination_port, false); + /* Currently support only MPLSoUDP */ + fc = &cd->fc[DR_CALC_FNAME(L4_DPORT, false)]; + if (!fc->tag_set) { + fc->item_idx = item_idx; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + fc->tag_set = &mlx5dr_definer_mpls_udp_port_set; + DR_CALC_SET(fc, eth_l4, destination_port, false); + } } if (m && (!is_mem_zero(m->label_tc_s, 3) || m->ttl)) {