freebsd-dev/sys/dev/ixgbe
Kristof Provost e7abb89701 ixgbe: fix software vlan handling
If hardware vlan tagging is disabled (after a vlan has been added) we
receive double-tagged packets, even if the packet on the wire only has a

single VLAN tag.  That looks like this:

	17:29:30.370787 00:51:82:11:22:02 > 90:ec:77:1f:8a:5f, ethertype 802.1Q (0x8100), length 64: vlan 0, p 0, ethertype 802.1Q, vlan 1001, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Reply 10.101.0.12 is-at 00:51:82:11:22:02, length 42

This happens because the ixgbe driver does not clear the vlan flags in
the hardware (such as IXGBE_RXDCTL_VME) if IFCAP_VLAN_HWTAGGING is
cleared.

Add code to do so, which fixes this issue.

Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D36139
2022-08-17 16:39:18 +02:00
..
if_bypass.c ixgbe: Rename 'struct adapter' to 'struct ixgbe_softc' 2021-09-26 11:18:07 -07:00
if_fdir.c ixgbe: Rename 'struct adapter' to 'struct ixgbe_softc' 2021-09-26 11:18:07 -07:00
if_ix.c ixgbe: fix software vlan handling 2022-08-17 16:39:18 +02:00
if_ixv.c ix/ixv: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:39:31 -07:00
if_sriov.c ixgbe: Rename 'struct adapter' to 'struct ixgbe_softc' 2021-09-26 11:18:07 -07:00
ix_txrx.c net: iflib: fix vlan processing in the drivers 2021-12-28 11:11:41 +00:00
ixgbe_82598.c ixgbe(4): Fix common typos in source code comments 2022-06-06 07:28:56 +02:00
ixgbe_82598.h ixgbe: Update copyright to 2020 2021-09-06 20:13:28 -07:00
ixgbe_82599.c ixgbe: Update shared code catchup 2021-10-06 18:45:55 -07:00
ixgbe_82599.h ixgbe: Update copyright to 2020 2021-09-06 20:13:28 -07:00
ixgbe_api.c ixgbe(4): Fix common typos in source code comments 2022-06-06 07:28:56 +02:00
ixgbe_api.h ixgbe: Update shared code catchup 2021-10-06 18:45:55 -07:00
ixgbe_bypass.h ixgbe: Rename 'struct adapter' to 'struct ixgbe_softc' 2021-09-26 11:18:07 -07:00
ixgbe_common.c ixgbe(4): Fix common typos in source code comments 2022-06-06 07:28:56 +02:00
ixgbe_common.h ixgbe: Update shared code catchup 2021-10-06 18:45:55 -07:00
ixgbe_dcb_82598.c ixgbe: Update copyright to 2020 2021-09-06 20:13:28 -07:00
ixgbe_dcb_82598.h ixgbe: Update copyright to 2020 2021-09-06 20:13:28 -07:00
ixgbe_dcb_82599.c ixgbe: Update copyright to 2020 2021-09-06 20:13:28 -07:00
ixgbe_dcb_82599.h ixgbe: Update copyright to 2020 2021-09-06 20:13:28 -07:00
ixgbe_dcb.c ixgbe: Update shared code catchup 2021-10-06 18:45:55 -07:00
ixgbe_dcb.h ixgbe: Update copyright to 2020 2021-09-06 20:13:28 -07:00
ixgbe_fdir.h ixgbe: Rename 'struct adapter' to 'struct ixgbe_softc' 2021-09-26 11:18:07 -07:00
ixgbe_features.h ixgbe: Update copyright to 2020 2021-09-06 20:13:28 -07:00
ixgbe_mbx.c ixgbe: Update shared code catchup 2021-10-06 18:45:55 -07:00
ixgbe_mbx.h ixv(4): Allow PF to control the VF link state 2022-03-04 10:53:07 -08:00
ixgbe_osdep.c ixgbe: Rename 'struct adapter' to 'struct ixgbe_softc' 2021-09-26 11:18:07 -07:00
ixgbe_osdep.h ixgbe: Update copyright to 2020 2021-09-06 20:13:28 -07:00
ixgbe_phy.c ixgbe: Update shared code catchup 2021-10-06 18:45:55 -07:00
ixgbe_phy.h ixgbe: Update shared code catchup 2021-10-06 18:45:55 -07:00
ixgbe_rss.h ixgbe: Update copyright to 2020 2021-09-06 20:13:28 -07:00
ixgbe_sriov.h ixgbe: Rename 'struct adapter' to 'struct ixgbe_softc' 2021-09-26 11:18:07 -07:00
ixgbe_type.h ixv(4): Allow PF to control the VF link state 2022-03-04 10:53:07 -08:00
ixgbe_vf.c ixv(4): Allow PF to control the VF link state 2022-03-04 10:53:07 -08:00
ixgbe_vf.h ixv(4): Allow PF to control the VF link state 2022-03-04 10:53:07 -08:00
ixgbe_x540.c ixgbe: Update shared code catchup 2021-10-06 18:45:55 -07:00
ixgbe_x540.h ixgbe: Update copyright to 2020 2021-09-06 20:13:28 -07:00
ixgbe_x550.c ix: Mark variables only used in debug traces as unused. 2022-04-06 16:45:29 -07:00
ixgbe_x550.h ixgbe: Update copyright to 2020 2021-09-06 20:13:28 -07:00
ixgbe.h ix(4): Add control of 2.5/5G autonegotiation speeds 2022-03-04 10:53:07 -08:00