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 747C3A00C2 for ; Thu, 3 Nov 2022 10:29:54 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 70CE140694; Thu, 3 Nov 2022 10:29:54 +0100 (CET) Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by mails.dpdk.org (Postfix) with ESMTP id B222540693 for ; Thu, 3 Nov 2022 10:29:53 +0100 (CET) Received: by mail-wr1-f44.google.com with SMTP id k8so1754335wrh.1 for ; Thu, 03 Nov 2022 02:29:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 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=HgU3I2VpwOK98oEvcSBdPbjZ4ycgmJQolIDzVATQkDM=; b=YpawLW7j10Xgvkbi6G3lteenoTGYTv7Ea7u9Kj511VHDRHYj5OmWRpfUuUXJ778r4o k9ZSmrGj/UDAYRcmP7RMCGD/RHovdLtdOj04FN8F72i+h6lBZtMnR8wskey6Uv+le0ML tI0Ae9BXcAo8E23fP1I9VfEA73WNwf2cRLqXP+6isFKYplCDSh8OkVCxoOsYvpgGYDgL yrIbPRxawkT+KtyKmlo76yvtCrGyO29hOAA9B5KATKIm3Tm63b8OXr0wXaevXAtnnVeI ODAMz4EPWCz0OzDjz3Y8V+2UHKRgSK/pRRBwETmPQxIgd3N2pTjCuuYrIrk40al4QMsj 65OQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=HgU3I2VpwOK98oEvcSBdPbjZ4ycgmJQolIDzVATQkDM=; b=aPIo8f0ky/izsfx9dj1R8fsDCWy/Usk9bUHENOtVHFCcfFYJ8HABbTrJ0IJsEBBozC SGELo9GTcFQLLPN4c8AS7Z+xhQ0VlMdbUnWl+fRLeDDuWrqq4LktcnaOYo9akCWSExwY oIAz1YaWkCf7MyOSb3eamGUuT4/duUYE28PnLU8I9sHI04R9D2rNHTBF4N8iAVunfJmK Hup+TjLWj+k3NrUN+xm9/vyQwi68uvkFcKJfeQnD9uc5OpisP/dh10+QfG9WszOWFITm F8Be8/neLOIfnqPbmiNBJ5x1vO6TOr4/L4/RwNNN5zzAfxnqmQK+NeopSWXrmV5GtnXU xg8A== X-Gm-Message-State: ACrzQf2rYegXWz0bnDmy7+4LQfbb/t7HWF0/V/pQo9W7DCPs2wvKJJsp 1MpZng/mf0FKpMAz7552PM3X6JSiFWd8Bczl X-Google-Smtp-Source: AMsMyM79xZ7Fbny0ImfqoVUnQ7+Ibbh32R/Biw5BeQofm0ZHHM+WFWvGVTx+CTiDTqdEKOJTUdZlpg== X-Received: by 2002:a5d:6408:0:b0:236:a69f:f3ef with SMTP id z8-20020a5d6408000000b00236a69ff3efmr18146331wru.176.1667467793382; Thu, 03 Nov 2022 02:29:53 -0700 (PDT) Received: from localhost ([137.220.119.58]) by smtp.gmail.com with ESMTPSA id e19-20020a05600c4e5300b003b49ab8ff53sm667165wmq.8.2022.11.03.02.29.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Nov 2022 02:29:52 -0700 (PDT) From: luca.boccassi@gmail.com To: Steve Yang Cc: Qi Zhang , dpdk stable Subject: patch 'net/iavf: fix pattern check for flow director parser' has been queued to stable release 20.11.7 Date: Thu, 3 Nov 2022 09:26:49 +0000 Message-Id: <20221103092758.1099402-31-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221103092758.1099402-1-luca.boccassi@gmail.com> References: <20221103092758.1099402-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 20.11.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/05/22. 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/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/565827b86ff1d49977bb5aa829d427989a3eaaa5 Thanks. Luca Boccassi --- >From 565827b86ff1d49977bb5aa829d427989a3eaaa5 Mon Sep 17 00:00:00 2001 From: Steve Yang Date: Wed, 10 Aug 2022 06:47:51 +0000 Subject: [PATCH] net/iavf: fix pattern check for flow director parser [ upstream commit e5c7498fae094e97a8e8831979a7112fa260bf92 ] FDIR rules with masks are not supported in current code. Thus add pattern check for IPv4/UDP/TCP/SCTP addr/port to terminate the FDIR programming stage. Fixes: d5eb3e600d9e ("net/iavf: support flow director basic rule") Signed-off-by: Steve Yang Acked-by: Qi Zhang --- drivers/net/iavf/iavf_fdir.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/drivers/net/iavf/iavf_fdir.c b/drivers/net/iavf/iavf_fdir.c index 01a3fc3f98..c16abb312f 100644 --- a/drivers/net/iavf/iavf_fdir.c +++ b/drivers/net/iavf/iavf_fdir.c @@ -571,6 +571,14 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad, return -rte_errno; } + /* Mask for IPv4 src/dst addrs not supported */ + if (ipv4_mask->hdr.src_addr && + ipv4_mask->hdr.src_addr != UINT32_MAX) + return -rte_errno; + if (ipv4_mask->hdr.dst_addr && + ipv4_mask->hdr.dst_addr != UINT32_MAX) + return -rte_errno; + if (ipv4_mask->hdr.type_of_service == UINT8_MAX) { input_set |= IAVF_INSET_IPV4_TOS; @@ -670,6 +678,14 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad, return -rte_errno; } + /* Mask for UDP src/dst ports not supported */ + if (udp_mask->hdr.src_port && + udp_mask->hdr.src_port != UINT16_MAX) + return -rte_errno; + if (udp_mask->hdr.dst_port && + udp_mask->hdr.dst_port != UINT16_MAX) + return -rte_errno; + if (udp_mask->hdr.src_port == UINT16_MAX) { input_set |= IAVF_INSET_UDP_SRC_PORT; VIRTCHNL_ADD_PROTO_HDR_FIELD_BIT(hdr, UDP, SRC_PORT); @@ -714,6 +730,14 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad, return -rte_errno; } + /* Mask for TCP src/dst ports not supported */ + if (tcp_mask->hdr.src_port && + tcp_mask->hdr.src_port != UINT16_MAX) + return -rte_errno; + if (tcp_mask->hdr.dst_port && + tcp_mask->hdr.dst_port != UINT16_MAX) + return -rte_errno; + if (tcp_mask->hdr.src_port == UINT16_MAX) { input_set |= IAVF_INSET_TCP_SRC_PORT; VIRTCHNL_ADD_PROTO_HDR_FIELD_BIT(hdr, TCP, SRC_PORT); @@ -752,6 +776,14 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad, return -rte_errno; } + /* Mask for SCTP src/dst ports not supported */ + if (sctp_mask->hdr.src_port && + sctp_mask->hdr.src_port != UINT16_MAX) + return -rte_errno; + if (sctp_mask->hdr.dst_port && + sctp_mask->hdr.dst_port != UINT16_MAX) + return -rte_errno; + if (sctp_mask->hdr.src_port == UINT16_MAX) { input_set |= IAVF_INSET_SCTP_SRC_PORT; VIRTCHNL_ADD_PROTO_HDR_FIELD_BIT(hdr, SCTP, SRC_PORT); -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-03 09:27:27.298946540 +0000 +++ 0031-net-iavf-fix-pattern-check-for-flow-director-parser.patch 2022-11-03 09:27:25.373422441 +0000 @@ -1 +1 @@ -From e5c7498fae094e97a8e8831979a7112fa260bf92 Mon Sep 17 00:00:00 2001 +From 565827b86ff1d49977bb5aa829d427989a3eaaa5 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit e5c7498fae094e97a8e8831979a7112fa260bf92 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 2e6b3a9097..a397047fdb 100644 +index 01a3fc3f98..c16abb312f 100644 @@ -23,3 +24,3 @@ -@@ -932,6 +932,14 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad, - return -rte_errno; - } +@@ -571,6 +571,14 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad, + return -rte_errno; + } @@ -27,7 +28,7 @@ -+ /* Mask for IPv4 src/dst addrs not supported */ -+ if (ipv4_mask->hdr.src_addr && -+ ipv4_mask->hdr.src_addr != UINT32_MAX) -+ return -rte_errno; -+ if (ipv4_mask->hdr.dst_addr && -+ ipv4_mask->hdr.dst_addr != UINT32_MAX) -+ return -rte_errno; ++ /* Mask for IPv4 src/dst addrs not supported */ ++ if (ipv4_mask->hdr.src_addr && ++ ipv4_mask->hdr.src_addr != UINT32_MAX) ++ return -rte_errno; ++ if (ipv4_mask->hdr.dst_addr && ++ ipv4_mask->hdr.dst_addr != UINT32_MAX) ++ return -rte_errno; @@ -35,4 +36,4 @@ - if (ipv4_mask->hdr.type_of_service == - UINT8_MAX) { - input_set |= IAVF_INSET_IPV4_TOS; -@@ -1122,6 +1130,14 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad, + if (ipv4_mask->hdr.type_of_service == + UINT8_MAX) { + input_set |= IAVF_INSET_IPV4_TOS; +@@ -670,6 +678,14 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad, @@ -53 +54 @@ -@@ -1171,6 +1187,14 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad, +@@ -714,6 +730,14 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad, @@ -68 +69 @@ -@@ -1214,6 +1238,14 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad, +@@ -752,6 +776,14 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,