[dpdk-stable] patch 'net/cxgbe: fix wrong ingress port value set in filter spec' has been queued to stable release 18.08.1

Kevin Traynor ktraynor at redhat.com
Thu Nov 29 14:20:10 CET 2018


Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. 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. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 617071df24ec403d46196f35b3bd988041327981 Mon Sep 17 00:00:00 2001
From: Rahul Lakkireddy <rahul.lakkireddy at chelsio.com>
Date: Fri, 9 Nov 2018 13:26:27 +0530
Subject: [PATCH] net/cxgbe: fix wrong ingress port value set in filter spec

[ upstream commit 34ca5e3eb7ac8d6ba81de2fa6b55565ab599511b ]

Set the "value" in the filter spec and not the "mask". Also, remove
duplicate comparison for hardware supported match items already done
earlier.

Fixes: af44a577988b ("net/cxgbe: support to offload flows to HASH region")

Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy at chelsio.com>
---
 drivers/net/cxgbe/cxgbe_filter.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/net/cxgbe/cxgbe_filter.c b/drivers/net/cxgbe/cxgbe_filter.c
index 7f0d38001..059ee0e41 100644
--- a/drivers/net/cxgbe/cxgbe_filter.c
+++ b/drivers/net/cxgbe/cxgbe_filter.c
@@ -246,6 +246,6 @@ static u64 hash_filter_ntuple(const struct filter_entry *f)
 	u16 tcp_proto = IPPROTO_TCP; /* TCP Protocol Number */
 
-	if (tp->port_shift >= 0)
-		ntuple |= (u64)f->fs.mask.iport << tp->port_shift;
+	if (tp->port_shift >= 0 && f->fs.mask.iport)
+		ntuple |= (u64)f->fs.val.iport << tp->port_shift;
 
 	if (tp->protocol_shift >= 0) {
@@ -259,7 +259,4 @@ static u64 hash_filter_ntuple(const struct filter_entry *f)
 		ntuple |= (u64)(f->fs.val.ethtype) << tp->ethertype_shift;
 
-	if (ntuple != tp->hash_filter_mask)
-		return 0;
-
 	return ntuple;
 }
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.277033442 +0000
+++ 0009-net-cxgbe-fix-wrong-ingress-port-value-set-in-filter.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From 34ca5e3eb7ac8d6ba81de2fa6b55565ab599511b Mon Sep 17 00:00:00 2001
+From 617071df24ec403d46196f35b3bd988041327981 Mon Sep 17 00:00:00 2001
 From: Rahul Lakkireddy <rahul.lakkireddy at chelsio.com>
 Date: Fri, 9 Nov 2018 13:26:27 +0530
 Subject: [PATCH] net/cxgbe: fix wrong ingress port value set in filter spec
 
+[ upstream commit 34ca5e3eb7ac8d6ba81de2fa6b55565ab599511b ]
+
 Set the "value" in the filter spec and not the "mask". Also, remove
 duplicate comparison for hardware supported match items already done
 earlier.
 
 Fixes: af44a577988b ("net/cxgbe: support to offload flows to HASH region")
-Cc: stable at dpdk.org
 
 Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy at chelsio.com>
 ---
@@ -16,10 +17,10 @@
  1 file changed, 2 insertions(+), 5 deletions(-)
 
 diff --git a/drivers/net/cxgbe/cxgbe_filter.c b/drivers/net/cxgbe/cxgbe_filter.c
-index ef1102be3..3a7912e48 100644
+index 7f0d38001..059ee0e41 100644
 --- a/drivers/net/cxgbe/cxgbe_filter.c
 +++ b/drivers/net/cxgbe/cxgbe_filter.c
-@@ -264,6 +264,6 @@ static u64 hash_filter_ntuple(const struct filter_entry *f)
+@@ -246,6 +246,6 @@ static u64 hash_filter_ntuple(const struct filter_entry *f)
  	u16 tcp_proto = IPPROTO_TCP; /* TCP Protocol Number */
  
 -	if (tp->port_shift >= 0)
@@ -28,8 +29,8 @@
 +		ntuple |= (u64)f->fs.val.iport << tp->port_shift;
  
  	if (tp->protocol_shift >= 0) {
-@@ -279,7 +279,4 @@ static u64 hash_filter_ntuple(const struct filter_entry *f)
- 		ntuple |= (u64)(f->fs.val.macidx) << tp->macmatch_shift;
+@@ -259,7 +259,4 @@ static u64 hash_filter_ntuple(const struct filter_entry *f)
+ 		ntuple |= (u64)(f->fs.val.ethtype) << tp->ethertype_shift;
  
 -	if (ntuple != tp->hash_filter_mask)
 -		return 0;


More information about the stable mailing list