amd-xgbe: Add support for VLAN filtering
This patch adds support for (imperfect) filtering of VLAN tag ids using a 16-bit filter hash table. When VLANs are added, a 4-bit hash is calculated with the result indicating the bit in the hash table to set. This table is used by the hardware to drop packets with a VLAN id that does not hash to a set bit in the table. Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
c52e9c6385
commit
801c62d945
@@ -393,6 +393,8 @@
|
||||
#define MAC_PFR_PM_WIDTH 1
|
||||
#define MAC_PFR_PR_INDEX 0
|
||||
#define MAC_PFR_PR_WIDTH 1
|
||||
#define MAC_PFR_VTFE_INDEX 16
|
||||
#define MAC_PFR_VTFE_WIDTH 1
|
||||
#define MAC_PMTCSR_MGKPKTEN_INDEX 1
|
||||
#define MAC_PMTCSR_MGKPKTEN_WIDTH 1
|
||||
#define MAC_PMTCSR_PWRDWN_INDEX 0
|
||||
@@ -427,6 +429,8 @@
|
||||
#define MAC_TCR_SS_WIDTH 2
|
||||
#define MAC_TCR_TE_INDEX 0
|
||||
#define MAC_TCR_TE_WIDTH 1
|
||||
#define MAC_VLANHTR_VLHT_INDEX 0
|
||||
#define MAC_VLANHTR_VLHT_WIDTH 16
|
||||
#define MAC_VLANIR_VLTI_INDEX 20
|
||||
#define MAC_VLANIR_VLTI_WIDTH 1
|
||||
#define MAC_VLANIR_CSVL_INDEX 19
|
||||
@@ -437,10 +441,18 @@
|
||||
#define MAC_VLANTR_ERSVLM_WIDTH 1
|
||||
#define MAC_VLANTR_ESVL_INDEX 18
|
||||
#define MAC_VLANTR_ESVL_WIDTH 1
|
||||
#define MAC_VLANTR_ETV_INDEX 16
|
||||
#define MAC_VLANTR_ETV_WIDTH 1
|
||||
#define MAC_VLANTR_EVLS_INDEX 21
|
||||
#define MAC_VLANTR_EVLS_WIDTH 2
|
||||
#define MAC_VLANTR_EVLRXS_INDEX 24
|
||||
#define MAC_VLANTR_EVLRXS_WIDTH 1
|
||||
#define MAC_VLANTR_VL_INDEX 0
|
||||
#define MAC_VLANTR_VL_WIDTH 16
|
||||
#define MAC_VLANTR_VTHM_INDEX 25
|
||||
#define MAC_VLANTR_VTHM_WIDTH 1
|
||||
#define MAC_VLANTR_VTIM_INDEX 17
|
||||
#define MAC_VLANTR_VTIM_WIDTH 1
|
||||
#define MAC_VR_DEVID_INDEX 8
|
||||
#define MAC_VR_DEVID_WIDTH 8
|
||||
#define MAC_VR_SNPSVER_INDEX 0
|
||||
|
Reference in New Issue
Block a user