From: Wei Zhao Date: Fri, 3 Feb 2017 08:43:57 +0000 (+0800) Subject: net/ixgbe: add TCI mask check for flow director X-Git-Tag: spdx-start~4547 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=37ed39b4e67d572cfdb0b889273c9ce84d2ab9c8;p=dpdk.git 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 --- 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. */ /**