From: Wenzhuo Lu Date: Wed, 19 Oct 2016 01:22:58 +0000 (+0800) Subject: net/ixgbe: fix flow director mask X-Git-Tag: spdx-start~5480 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=33706189216bf346326c60eed3c351ee0f7baaa1;p=dpdk.git net/ixgbe: fix flow director mask In mac-vlan mode, MAC address mask is not supported by HW. The MAC address mask should not be set in mac-vlan mode. Instead, only set it in tunnel mode. Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for X550") Signed-off-by: Wenzhuo Lu --- diff --git a/drivers/net/ixgbe/ixgbe_fdir.c b/drivers/net/ixgbe/ixgbe_fdir.c index 861c7cbe80..4b81ee379a 100644 --- a/drivers/net/ixgbe/ixgbe_fdir.c +++ b/drivers/net/ixgbe/ixgbe_fdir.c @@ -432,12 +432,12 @@ fdir_set_input_mask_x550(struct rte_eth_dev *dev, fdiripv6m |= IXGBE_FDIRIP6M_TUNNEL_TYPE | IXGBE_FDIRIP6M_TNI_VNI; - mac_mask = input_mask->mac_addr_byte_mask; - fdiripv6m |= (mac_mask << IXGBE_FDIRIP6M_INNER_MAC_SHIFT) - & IXGBE_FDIRIP6M_INNER_MAC; - info->mask.mac_addr_byte_mask = input_mask->mac_addr_byte_mask; - if (mode == RTE_FDIR_MODE_PERFECT_TUNNEL) { + mac_mask = input_mask->mac_addr_byte_mask; + fdiripv6m |= (mac_mask << IXGBE_FDIRIP6M_INNER_MAC_SHIFT) + & IXGBE_FDIRIP6M_INNER_MAC; + info->mask.mac_addr_byte_mask = input_mask->mac_addr_byte_mask; + switch (input_mask->tunnel_type_mask) { case 0: /* Mask turnnel type */