i40e: fix VLAN filtering
authorJulien Meunier <julien.meunier@6wind.com>
Thu, 4 Feb 2016 11:02:16 +0000 (12:02 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 16 Mar 2016 16:20:01 +0000 (17:20 +0100)
commit330aa319382aec9ea595f9ebcb9a3c44647ad66c
treef3769ed7ac16ab40596b44fe02c68a6f3f22e8de
parent097e920c32bf19cf918cc071525f33b0abdeebaf
i40e: fix VLAN filtering

VLAN filtering was always performed, even if hw_vlan_filter was
disabled. During device initialization, default filter
RTE_MACVLAN_PERFECT_MATCH was applied. In this situation, all incoming
VLAN frames were dropped by the card (increase of the register RUPP - Rx
Unsupported Protocol).

In order to restore default behavior, if HW VLAN filtering is activated,
set a filter to match MAC and VLAN. If not, set a filter to only match
MAC.

Fixes: 4861cde46116 ("i40e: new poll mode driver")
Fixes: 912b595146d6 ("i40e: mac vlan filter")

Signed-off-by: Julien Meunier <julien.meunier@6wind.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
drivers/net/i40e/i40e_ethdev.c
drivers/net/i40e/i40e_ethdev.h