[dpdk-dev] net/ixgbe: fix tci mask check in fdir pasrer

Message ID 1486690678-45460-1-git-send-email-wei.zhao1@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel compilation success Compilation OK

Commit Message

Zhao1, Wei Feb. 10, 2017, 1:37 a.m. UTC
  It must use big endian when check on the tci mask of vlan
and vxlan parser in fdir filter rule pattern parser.Because
rte layer send out tci mask using big endian mode.

Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
Fixes: cc83320af286 ("net/ixgbe: add tci mask check
in fdir parser")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
 drivers/net/ixgbe/ixgbe_flow.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Ferruh Yigit Feb. 10, 2017, 11:25 a.m. UTC | #1
On 2/10/2017 1:37 AM, Wei Zhao wrote:
> It must use big endian when check on the tci mask of vlan
> and vxlan parser in fdir filter rule pattern parser.Because
> rte layer send out tci mask using big endian mode.
> 
> Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> Fixes: cc83320af286 ("net/ixgbe: add tci mask check
> in fdir parser")
> 
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>

    net/ixgbe: fix VLAN mask TCI in flow rule parser

    Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
    Fixes: c7753a7e6968 ("net/ixgbe: add tci mask check in fdir parser")

Applied to dpdk-next-net/master, thanks.
  

Patch

diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index d64cfd1..5a634d3 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -1617,7 +1617,7 @@  ixgbe_parse_fdir_filter_normal(const struct rte_flow_attr *attr,
 			return -rte_errno;
 		}
 		rule->mask.vlan_tci_mask = vlan_mask->tci;
-		rule->mask.vlan_tci_mask &= 0xEFFF;
+		rule->mask.vlan_tci_mask &= rte_cpu_to_be_16(0xEFFF);
 		/* More than one tags are not supported. */
 
 		/**
@@ -2361,7 +2361,7 @@  ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 			return -rte_errno;
 		}
 		rule->mask.vlan_tci_mask = vlan_mask->tci;
-		rule->mask.vlan_tci_mask &= 0xEFFF;
+		rule->mask.vlan_tci_mask &= rte_cpu_to_be_16(0xEFFF);
 		/* More than one tags are not supported. */
 
 		/**