From patchwork Thu Nov 17 10:06:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dariusz Sosnowski X-Patchwork-Id: 119931 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 217B6A0544; Thu, 17 Nov 2022 11:07:39 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 07A2940DDC; Thu, 17 Nov 2022 11:07:39 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41]) by mails.dpdk.org (Postfix) with ESMTP id 2231540DDA for ; Thu, 17 Nov 2022 11:07:37 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n9LZQDX0SJHWVt9uqmPvMu5XFS0GkeejRoxIPxvn3ySJsfZpilMwZDVWcpe5yYun/jbaPIzg7JvqmVPc3Fa8YKW0+tAlb2X7VgLoQkHbfpWLK1SJWX58euGV/gLxFHTvQj7kVMY9iCngmePVZ6pNinlizTRMrHO/RkTurLd9cwKtvtcmMJgmGyT56UQIOXhCzI+4GEhxrBd0xeOsYaA3YzlObrzTgZFz9fGztosirvubcQy5whKACO+D8cfAoRgfSB0agKw/cRPS60VBkHdroeNpf+5Fra6Nk+9yftX37bHD/sFsIehiJH+GEzAQzrA7Q705p1ewn1sjc32ut9u03g== 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=VDYxnpVGrw8ZOABAd/TLGiaVE4RC1IvFZQtMokMlP/Y=; b=JTf1rxUW+CStOWC3sWUUCs9Kg19r7Q67YDhBQa6xSAzQ8EvMm1DwyDF2GseZtl8JdD9KfXZojWOJfvbmQADmc329HKClOkj7+xErxhsQYSw5nSV0kuVxsJxWRjpBmJPgcUjoSb63KrZA+IhRbN5Td4bjdu0sbd5vyndWr4vBWDqWLsVGKgZg4l1vpE/dI5ZYxw3G5Nay2LEemTtOpE0iYrs6+HNLquAcW/kwJBwVSZfGoPi6U1VagFsPJG1+MRUGK5ObhTgaWxOi7NI9rvd8GPsvNSokT9D8ZgY7qy2q2ntnByJ0TkVke16gWl7XmgCQvfVSY057xsFpJoQG8iEIxw== 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=VDYxnpVGrw8ZOABAd/TLGiaVE4RC1IvFZQtMokMlP/Y=; b=k9jjgSnkck+GoO3QZvgLok+9cd+M4sJtWnZwqZaiby7T9Fsohur2zqV+W7ZUWCutDtVcpqVqwM3z8u+s6tEfCHrHko7UDDdgtcRScP4svfg+2VSmt3sD27vOkP/z5svHod8Yr+TPw8oSfkVDiiVKU5vbDqjFe1+1LyKhXVoWC13u2IF3S9uITei1OLP5IIqlIFrj+w73EBGwBw2fCIfG2EdFpuUhjfC6ebr2FhaIfyxASJXJhRdNDqq98iIZ4YHUtP07JNK67pVZjRvLtK2R5EDTO82BKKBcnWBULnOa+tQVbdQz9zpkh9ZxCvdI6DLGTgaLU45ZNii+8ijnuYNL4w== Received: from DM6PR06CA0089.namprd06.prod.outlook.com (2603:10b6:5:336::22) by MN0PR12MB5764.namprd12.prod.outlook.com (2603:10b6:208:377::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.18; Thu, 17 Nov 2022 10:07:35 +0000 Received: from DM6NAM11FT088.eop-nam11.prod.protection.outlook.com (2603:10b6:5:336:cafe::b8) by DM6PR06CA0089.outlook.office365.com (2603:10b6:5:336::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.20 via Frontend Transport; Thu, 17 Nov 2022 10:07:35 +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 DM6NAM11FT088.mail.protection.outlook.com (10.13.172.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.8 via Frontend Transport; Thu, 17 Nov 2022 10:07:35 +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.36; Thu, 17 Nov 2022 02:07:25 -0800 Received: from nvidia.com (10.126.231.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.36; Thu, 17 Nov 2022 02:07:23 -0800 From: Dariusz Sosnowski To: Matan Azrad , Viacheslav Ovsiienko , Gregory Etelson CC: , Raslan Darawsheh Subject: [PATCH] net/mlx5: fix push VLAN action mask iteration Date: Thu, 17 Nov 2022 10:06:47 +0000 Message-ID: <20221117100648.1531155-1-dsosnowski@nvidia.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT088:EE_|MN0PR12MB5764:EE_ X-MS-Office365-Filtering-Correlation-Id: a22b47bd-e682-4147-6b36-08dac8838cba X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: znUY7LK//Pw/C8xDAnTuHRXwXF620YNNSfuTwS7f1gi8Tb4nvpAbM46eocnAzTpHTlqDC5QKSwyvfI3pYzqR83Asz18lRmYUxcN5WVOr9ZsC/tZe5MfRyRM3p0YrIAFxvuIveuLt5qxViLrvJo3MtoFqAliVPbCnYCEYHAFeSPAHTTWb5DnrFvdVhiDMvpI3bOhfok/Cq4pD5RrY13rgAM+lZklqqO2lh9qI3qNivF28uGNi7e6a0hs+K1qh/05/XyKlAc2WH9UyM9hqVehfZUopOhi8ZkkFud2Or21kvokUzajgheblDQCTSK1M9X+72Vp0Lfc9usVpJqT/PnxpvVw2Dk2QNlwhHHwcAaP0Bj84b66nchQIkeD5GCqooCyl8BlpYx3vCWIa6AhxmiKE+rsFJ/uLNtod2WvLRQG7UxcFus4tK7yc8SyHHlMsi0nuvAE+0qUUk/8Z9G5XKRaDLLzIm2cZQ2Wf5c1eFNJx5YYdq1ZS/1nOlInd7WuzpU4zX2fhi0mcVYt17VFF0mAsD6/rs/5sMv0WFjjhMmw86ddv/yEMBbNOymaAwCy5Hqus5hUhHz6sVvkk69DFm131/wDxAGeifs50W/3Ov/ygD4ZPkNG3om+sq1Nk+RKU4XwICk8FHPJ+UlIpAYYM8L9PGHx1K/atTUsQhUoZ6fEA2H5yxZ4/RhTANCjW/ZBFOLtcLvDrz3fi0+CwxsSOWXsxGA== 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:(13230022)(4636009)(396003)(136003)(346002)(376002)(39860400002)(451199015)(40470700004)(46966006)(36840700001)(316002)(7696005)(110136005)(2906002)(107886003)(6666004)(54906003)(6636002)(6286002)(26005)(4326008)(8676002)(336012)(1076003)(5660300002)(8936002)(2616005)(186003)(478600001)(16526019)(70206006)(426003)(47076005)(41300700001)(70586007)(83380400001)(40480700001)(55016003)(86362001)(36756003)(82310400005)(36860700001)(7636003)(356005)(40460700003)(82740400003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2022 10:07:35.2082 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a22b47bd-e682-4147-6b36-08dac8838cba 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: DM6NAM11FT088.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5764 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 Before this patch, during translation of OF_PUSH_VLAN actions iterator was moved forward to the position of OF_SET_VLAN_VID or OF_SET_VLAN_PCP, but masks iterator was not updated. As a result, the following actions were incorrectly translated, because iterators were not aligned. This patch fixes this behavior by properly adjusting masks iterator alognside actions iterator. Fixes: 773ca0e91ba1 ("net/mlx5: support VLAN push/pop/modify with HWS") Cc: getelson@nvidia.com Signed-off-by: Dariusz Sosnowski Acked-by: Viacheslav Ovsiienko --- drivers/net/mlx5/mlx5_flow_hw.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c index f4493ad556..ff0c3064c1 100644 --- a/drivers/net/mlx5/mlx5_flow_hw.c +++ b/drivers/net/mlx5/mlx5_flow_hw.c @@ -1346,6 +1346,7 @@ __flow_hw_actions_translate(struct rte_eth_dev *dev, bool actions_end = false; uint32_t type; bool reformat_used = false; + unsigned int of_vlan_offset; uint16_t action_pos; uint16_t jump_pos; uint32_t ct_idx; @@ -1413,9 +1414,11 @@ __flow_hw_actions_translate(struct rte_eth_dev *dev, (priv, acts, actions->type, actions - action_start, action_pos)) goto err; - actions += is_of_vlan_pcp_present(actions) ? + of_vlan_offset = is_of_vlan_pcp_present(actions) ? MLX5_HW_VLAN_PUSH_PCP_IDX : MLX5_HW_VLAN_PUSH_VID_IDX; + actions += of_vlan_offset; + masks += of_vlan_offset; break; case RTE_FLOW_ACTION_TYPE_OF_POP_VLAN: action_pos = at->actions_off[actions - at->actions];