From 37ed39b4e67d572cfdb0b889273c9ce84d2ab9c8 Mon Sep 17 00:00:00 2001 From: Wei Zhao Date: Fri, 3 Feb 2017 16:43:57 +0800 Subject: [PATCH] net/ixgbe: add TCI mask check for flow director Add more check on the tci mask of VLAN and VXLAN parser in fdir filter rule pattern parser. If such check not added, it maybe cause error in fdir configuration set check. Fixes: 11777435c727 ("net/ixgbe: parse flow director filter") Cc: stable@dpdk.org Signed-off-by: Wei Zhao --- drivers/net/ixgbe/ixgbe_flow.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c index 82aceed7b0..d64cfd120f 100644 --- a/drivers/net/ixgbe/ixgbe_flow.c +++ b/drivers/net/ixgbe/ixgbe_flow.c @@ -1400,7 +1400,7 @@ ixgbe_parse_fdir_act_attr(const struct rte_flow_attr *attr, * ETH dst_addr {0xAC, 0x7B, 0xA1, {0xFF, 0xFF, 0xFF, 0x2C, 0x6D, 0x36} 0xFF, 0xFF, 0xFF} - * MAC VLAN tci 0x2016 0xFFFF + * MAC VLAN tci 0x2016 0xEFFF * tpid 0x8100 0xFFFF * END * Other members in mask and spec should set to 0x00. @@ -1617,6 +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; /* More than one tags are not supported. */ /** @@ -2360,6 +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; /* More than one tags are not supported. */ /**