From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 967FB46423 for ; Wed, 19 Mar 2025 15:22:08 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 90B9E4026B; Wed, 19 Mar 2025 15:22:08 +0100 (CET) Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by mails.dpdk.org (Postfix) with ESMTP id 5F0094026B for ; Wed, 19 Mar 2025 15:22:06 +0100 (CET) Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-39130ee05b0so6788110f8f.3 for ; Wed, 19 Mar 2025 07:22:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742394126; x=1742998926; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Utg0W3fUF26I1X//DwFY717BpfhP3aPm90VYzQqH+oU=; b=X2s8HcrD5GOx9yiZaIS+swNt8twVHW9CVPlQMJlEw69G77eSL4+aRdnPxzk+WZsgUc IO5fNufYoK3Y5uyJB8r64QCLymrRthMCHVFGAwPq3fwiq2suUpwwf1vExpO/OGd5Ug7f mVTO72Um9HpYFdEHPKOHQkE2WmRV253jU7VgCL+u+/tynfyOSzhlDm8hyvqz4wqPgj65 LKVwnQ1P7c4axCP+hsBuqs1OPY8f/yQiWrjJCieuw5pZN3bq7iK2Tv7ZnysKejC9kAou Xc2P0sJPki5vvdi65btS4eNww0uTRFz8UbhJ/xu6trvYDocrSXQLDNitDI3wUNqQlvO4 az7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742394126; x=1742998926; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Utg0W3fUF26I1X//DwFY717BpfhP3aPm90VYzQqH+oU=; b=CozheP662QqaiOCXBXRyy7XP+1uoXghl0vRdDicbDcEFqej8GU0DAFL+D4PC6b0lfQ YOC3AzNVGaxNGUzpe7miDY+RbVilnRKx/M6ec5A0AvH5UDbqvGPO35IK4FOoKQu7cU66 0FpPgYgjY4EsAzVy0ADEykDi4UZHLL6ROjdRJg9x2iJsdwBFU+aftNiRgyl5xMlFIFFu jV4ImDJMWQdeMr6yAlLOmKwexeTDQbC9bh3+8My/+7IQadNWPtAhwJQ8hkQJLnZcDsdV Xh0pWNkexlyr7oeoOckm5eQi1L8sw2QLZr8SFOhDWB9KBb5l5NcKzkfyFDrx3ZIoRyYA cg4Q== X-Forwarded-Encrypted: i=1; AJvYcCVEXCzhO7BOi3FlJy5tU1qhjjHpqC6vS2bpZeErXAulv1KmaMMZIJJKNSHZ/8t6xOdctlElVEM=@dpdk.org X-Gm-Message-State: AOJu0YwF95ZD6t77bVTDuQCRHAqxn2qkU0EAD4tI8dNHlyqGcsRmfhCv ZegmaiSJ0B6X+ns8U9lNgMHJMvnXwp5i/jO5kKib7216/CWJUHjWkwqjAA== X-Gm-Gg: ASbGncsKG8RWjjkwLzeHntV/q3FOu+Rz7kBtr1C1ogEYASx1+J8nJDPgahMzP4ZdHcX FQvXouaLZkVNbzVK2z47TBOF8lu9QuoRKPDJEAfErSs6U27+LUU6QQFIPdMoIv8uKQr4oy0jxWS HMzD9KbEwDR/kk0Ro7xGji/XYZw0L1tfQxpbzMHJ0BfGrhgAD5XXT6nmwCjH5MHVqhbKAQou1Tb +BVmzirPLVF5AiKq47e3qBKu7k/Uz3MmCr7nR2aSit8m1zInJaitOggNN+cOZYFf9mQMdbwHxIf EbYt4cJQbitaCm4bDOsvw6QtVEW8eip8OgLx/SEWCtnsArYMX0w= X-Google-Smtp-Source: AGHT+IHwFyEZScYi/I6PIdGjWpbD6RYqymeBjYSqvZ6kU665Hy/YDGUej5ZQMWf9un/6vAGAMCExpQ== X-Received: by 2002:a05:6000:1882:b0:391:45e9:face with SMTP id ffacd0b85a97d-39973b42580mr2637175f8f.54.1742394125767; Wed, 19 Mar 2025 07:22:05 -0700 (PDT) Received: from localhost ([2a01:4b00:d036:ae00:4eab:5a5d:ba39:287e]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-395cb7eb8c2sm20668072f8f.85.2025.03.19.07.22.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 07:22:05 -0700 (PDT) From: luca.boccassi@gmail.com To: Maayan Kashani Cc: Dariusz Sosnowski , dpdk stable Subject: patch 'net/mlx5/hws: fix GTP flags matching' has been queued to stable release 22.11.8 Date: Wed, 19 Mar 2025 14:21:18 +0000 Message-ID: <20250319142142.439602-7-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250319142142.439602-1-luca.boccassi@gmail.com> References: <20250307122431.1415551-28-luca.boccassi@gmail.com> <20250319142142.439602-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 22.11.8 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 03/21/25. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/723d4e015b1938b51e748cf63ccefd27f92db60e Thanks. Luca Boccassi --- >From 723d4e015b1938b51e748cf63ccefd27f92db60e Mon Sep 17 00:00:00 2001 From: Maayan Kashani Date: Thu, 27 Feb 2025 12:49:40 +0200 Subject: [PATCH] net/mlx5/hws: fix GTP flags matching [ upstream commit a31da10717be6a79877621e94eeb003f547c5f88 ] Support GTP flags in non-template on top of HWS. Currently, only extension flag was supported, Added support to all bits under v_pt_rsv_flags. Fixes: c55c2bf35333 ("net/mlx5/hws: add definer layer") Signed-off-by: Maayan Kashani Acked-by: Dariusz Sosnowski --- drivers/net/mlx5/hws/mlx5dr_definer.c | 12 ++++++------ drivers/net/mlx5/hws/mlx5dr_definer.h | 18 ++++++++++++------ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c index 805025184c..527217487e 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.c +++ b/drivers/net/mlx5/hws/mlx5dr_definer.c @@ -152,7 +152,7 @@ struct mlx5dr_definer_conv_data { X(SET, gtp_udp_port, RTE_GTPU_UDP_PORT, rte_flow_item_gtp) \ X(SET_BE32, gtp_teid, v->teid, rte_flow_item_gtp) \ X(SET, gtp_msg_type, v->msg_type, rte_flow_item_gtp) \ - X(SET, gtp_ext_flag, !!v->v_pt_rsv_flags, rte_flow_item_gtp) \ + X(SET, gtp_flags, v->v_pt_rsv_flags, rte_flow_item_gtp) \ X(SET, gtp_next_ext_hdr, GTP_PDU_SC, rte_flow_item_gtp_psc) \ X(SET, gtp_ext_hdr_pdu, v->hdr.type, rte_flow_item_gtp_psc) \ X(SET, gtp_ext_hdr_qfi, v->hdr.qfi, rte_flow_item_gtp_psc) \ @@ -857,7 +857,7 @@ mlx5dr_definer_conv_item_gtp(struct mlx5dr_definer_conv_data *cd, if (!m) return 0; - if (m->msg_len || m->v_pt_rsv_flags & ~MLX5DR_DEFINER_GTP_EXT_HDR_BIT) { + if (m->msg_len) { rte_errno = ENOTSUP; return rte_errno; } @@ -879,11 +879,11 @@ mlx5dr_definer_conv_item_gtp(struct mlx5dr_definer_conv_data *cd, rte_errno = ENOTSUP; return rte_errno; } - fc = &cd->fc[MLX5DR_DEFINER_FNAME_GTP_EXT_FLAG]; + fc = &cd->fc[MLX5DR_DEFINER_FNAME_GTP_FLAGS]; fc->item_idx = item_idx; - fc->tag_set = &mlx5dr_definer_gtp_ext_flag_set; - fc->bit_mask = __mlx5_mask(header_gtp, ext_hdr_flag); - fc->bit_off = __mlx5_dw_bit_off(header_gtp, ext_hdr_flag); + fc->tag_set = &mlx5dr_definer_gtp_flags_set; + fc->bit_mask = __mlx5_mask(header_gtp, v_pt_rsv_flags); + fc->bit_off = __mlx5_dw_bit_off(header_gtp, v_pt_rsv_flags); fc->byte_off = cd->caps->format_select_gtpu_dw_0 * DW_SIZE; } diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.h b/drivers/net/mlx5/hws/mlx5dr_definer.h index 5b38a54e6b..9e6681afc9 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.h +++ b/drivers/net/mlx5/hws/mlx5dr_definer.h @@ -71,6 +71,7 @@ enum mlx5dr_definer_fname { MLX5DR_DEFINER_FNAME_GTP_TEID, MLX5DR_DEFINER_FNAME_GTP_MSG_TYPE, MLX5DR_DEFINER_FNAME_GTP_EXT_FLAG, + MLX5DR_DEFINER_FNAME_GTP_FLAGS, MLX5DR_DEFINER_FNAME_GTP_NEXT_EXT_HDR, MLX5DR_DEFINER_FNAME_GTP_EXT_HDR_PDU, MLX5DR_DEFINER_FNAME_GTP_EXT_HDR_QFI, @@ -479,12 +480,17 @@ enum mlx5dr_definer_gtp { }; struct mlx5_ifc_header_gtp_bits { - u8 version[0x3]; - u8 proto_type[0x1]; - u8 reserved1[0x1]; - u8 ext_hdr_flag[0x1]; - u8 seq_num_flag[0x1]; - u8 pdu_flag[0x1]; + union { + u8 v_pt_rsv_flags[0x8]; + struct { + u8 version[0x3]; + u8 proto_type[0x1]; + u8 reserved1[0x1]; + u8 ext_hdr_flag[0x1]; + u8 seq_num_flag[0x1]; + u8 pdu_flag[0x1]; + }; + }; u8 msg_type[0x8]; u8 msg_len[0x8]; u8 teid[0x20]; -- 2.47.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2025-03-19 14:20:57.340890666 +0000 +++ 0007-net-mlx5-hws-fix-GTP-flags-matching.patch 2025-03-19 14:20:57.061288905 +0000 @@ -1 +1 @@ -From a31da10717be6a79877621e94eeb003f547c5f88 Mon Sep 17 00:00:00 2001 +From 723d4e015b1938b51e748cf63ccefd27f92db60e Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit a31da10717be6a79877621e94eeb003f547c5f88 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -21 +22 @@ -index a4b9306d2b..5272119bcb 100644 +index 805025184c..527217487e 100644 @@ -24,6 +25,6 @@ -@@ -199,7 +199,7 @@ struct mlx5dr_definer_conv_data { - X(SET, gtp_udp_port, UDP_GTPU_PORT, rte_flow_item_gtp) \ - X(SET_BE32, gtp_teid, v->hdr.teid, rte_flow_item_gtp) \ - X(SET, gtp_msg_type, v->hdr.msg_type, rte_flow_item_gtp) \ -- X(SET, gtp_ext_flag, !!v->hdr.gtp_hdr_info, rte_flow_item_gtp) \ -+ X(SET, gtp_flags, v->hdr.gtp_hdr_info, rte_flow_item_gtp) \ +@@ -152,7 +152,7 @@ struct mlx5dr_definer_conv_data { + X(SET, gtp_udp_port, RTE_GTPU_UDP_PORT, rte_flow_item_gtp) \ + X(SET_BE32, gtp_teid, v->teid, rte_flow_item_gtp) \ + X(SET, gtp_msg_type, v->msg_type, rte_flow_item_gtp) \ +- X(SET, gtp_ext_flag, !!v->v_pt_rsv_flags, rte_flow_item_gtp) \ ++ X(SET, gtp_flags, v->v_pt_rsv_flags, rte_flow_item_gtp) \ @@ -33 +34 @@ -@@ -1463,7 +1463,7 @@ mlx5dr_definer_conv_item_gtp(struct mlx5dr_definer_conv_data *cd, +@@ -857,7 +857,7 @@ mlx5dr_definer_conv_item_gtp(struct mlx5dr_definer_conv_data *cd, @@ -37 +38 @@ -- if (m->hdr.plen || m->hdr.gtp_hdr_info & ~MLX5DR_DEFINER_GTP_EXT_HDR_BIT) { +- if (m->msg_len || m->v_pt_rsv_flags & ~MLX5DR_DEFINER_GTP_EXT_HDR_BIT) { @@ -42 +43 @@ -@@ -1485,11 +1485,11 @@ mlx5dr_definer_conv_item_gtp(struct mlx5dr_definer_conv_data *cd, +@@ -879,11 +879,11 @@ mlx5dr_definer_conv_item_gtp(struct mlx5dr_definer_conv_data *cd, @@ -55 +56 @@ - fc->byte_off = caps->format_select_gtpu_dw_0 * DW_SIZE; + fc->byte_off = cd->caps->format_select_gtpu_dw_0 * DW_SIZE; @@ -59 +60 @@ -index 092b1b3b10..d0c99399ae 100644 +index 5b38a54e6b..9e6681afc9 100644 @@ -62 +63 @@ -@@ -110,6 +110,7 @@ enum mlx5dr_definer_fname { +@@ -71,6 +71,7 @@ enum mlx5dr_definer_fname { @@ -70 +71 @@ -@@ -606,12 +607,17 @@ enum mlx5dr_definer_gtp { +@@ -479,12 +480,17 @@ enum mlx5dr_definer_gtp {