linux/drivers/net/usb
Enrico Pozzobon 60444706aa net: usb: lan78xx: disable VLAN filter in promiscuous mode
The hardware VLAN filter (RFE_CTL_VLAN_FILTER_) drops VLAN-tagged frames
whose VID has not been registered via lan78xx_vlan_rx_add_vid(). It is
left enabled in promiscuous mode, so packet capture (e.g. tcpdump or
Wireshark) does not see tagged frames for unregistered VIDs.

Clear the filter while the interface is promiscuous and restore it from
NETIF_F_HW_VLAN_CTAG_FILTER otherwise. Enforce the same condition in
lan78xx_set_features() so netdev_update_features() cannot re-enable the
filter while promiscuous.

Fixes: 55d7de9de6 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver")
Signed-off-by: Enrico Pozzobon <enrico.pozzobon@dissecto.com>
Reviewed-by: Nicolai Buchwitz <nb@tipi-net.de>
Link: https://patch.msgid.link/20260701-lan78xx-vlan-promisc-v3-1-232266d32743@dissecto.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-07-07 13:07:51 +02:00
..
aqc111.c net: usb: aqc111: Do not perform PM inside suspend callback 2026-03-17 13:36:12 +01:00
aqc111.h
asix_common.c net: usb: remove unnecessary get_drvinfo code and driver versions 2026-01-30 17:44:18 -08:00
asix_devices.c net: usb: asix: ax88772: re-add usbnet_link_change() in phylink callbacks 2026-05-04 19:04:15 -07:00
asix.h net: usb: remove unnecessary get_drvinfo code and driver versions 2026-01-30 17:44:18 -08:00
ax88172a.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ax88179_178a.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
catc.c net: usb: catc: enable basic endpoint checking 2026-02-17 11:53:36 +01:00
cdc_eem.c
cdc_ether.c net: usb: cdc-ether: unify error handling in probe 2026-03-14 12:22:01 -07:00
cdc_mbim.c drivers: net: drop ipv6_stub usage and use direct function calls 2026-03-29 11:21:23 -07:00
cdc_ncm.c net: usb: cdc_ncm: add Apple Mac USB-C direct networking quirk 2026-05-01 17:17:27 -07:00
cdc_subset.c
cdc-phonet.c net: usb: cdc-phonet: fix skb frags[] overflow in rx_complete() 2026-04-14 12:05:01 +02:00
ch9200.c
cx82310_eth.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm9601.c net: usb: introduce usbnet_mii_ioctl helper function 2026-02-03 19:41:19 -08:00
gl620a.c usbnet: gl620a: fix out-of-bounds read in genelink_rx_fixup() 2026-06-29 18:54:46 -07:00
hso.c net: hso: refactor endpoint lookup 2026-03-31 19:23:41 -07:00
huawei_cdc_ncm.c
int51x1.c net: usb: int51x1: use usbnet_cdc_update_filter 2026-01-27 17:55:32 -08:00
ipheth.c net: ipeth: refactor endpoint lookup 2026-03-31 19:23:41 -07:00
kalmia.c net: usb: kalmia: bound RX frame length in kalmia_rx_fixup() 2026-06-24 19:00:07 -07:00
kaweth.c net: usb: kaweth: validate USB endpoints 2026-02-25 18:58:05 -08:00
Kconfig net: usb: sr9700: remove code to drive nonexistent multicast filter 2026-02-03 19:42:15 -08:00
lan78xx.c net: usb: lan78xx: disable VLAN filter in promiscuous mode 2026-07-07 13:07:51 +02:00
lan78xx.h net: usb: lan78xx: fix silent drop of packets with checksum errors 2026-03-09 19:48:33 -07:00
lg-vl600.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
Makefile
mcs7830.c net: usb: introduce usbnet_mii_ioctl helper function 2026-02-03 19:41:19 -08:00
net1080.c net: usb: net1080: validate packet_len before pad-byte access in rx_fixup 2026-07-03 08:23:23 +02:00
pegasus.c net: usb: pegasus: replace simple_strtoul with kstrtouint 2026-05-13 18:06:56 -07:00
pegasus.h
plusb.c
qmi_wwan.c net: usb: qmi_wwan: add MeiG SRM813Q 2026-05-20 16:55:12 -07:00
r8152.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-06-11 14:33:35 -07:00
r8153_ecm.c
rndis_host.c rndis_host: enable power management for Telit LE310X1 2026-06-04 18:10:56 -07:00
rtl8150.c net: usb: rtl8150: free skb on usb_submit_urb() failure in xmit 2026-04-27 17:51:14 -07:00
sierra_net.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
smsc75xx.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
smsc75xx.h
smsc95xx.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
smsc95xx.h
sr9700.c net: usb: sr9700: remove code to drive nonexistent multicast filter 2026-02-03 19:42:15 -08:00
sr9700.h net: usb: sr9700: remove code to drive nonexistent multicast filter 2026-02-03 19:42:15 -08:00
sr9800.c net: usb: introduce usbnet_mii_ioctl helper function 2026-02-03 19:41:19 -08:00
sr9800.h net: usb: remove unnecessary get_drvinfo code and driver versions 2026-01-30 17:44:18 -08:00
usbnet.c net: usb: usbnet: use proper ep number macros 2026-05-14 18:19:03 -07:00
zaurus.c