[Bug 292759] [igb] vlanhwfilter silently does not work with bridge with VLANs

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 27 Jan 2026 13:57:38 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292759

            Bug ID: 292759
           Summary: [igb] vlanhwfilter silently does not work with bridge
                    with VLANs
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: vova@zote.me

# ifconfig igb1 up
# ifconfig igb1
igb1: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0
mtu 1500
       
options=4e527bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG>
        ether 00:e0:67:1f:29:91
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

by default interface has vlanhwfilter turned on (not visible above)

# ifconfig bridge1 create vlanfilter addm igb1 untagged 1 tagged 20 up
# ifconfig bridge1.20 create 192.168.20.77/24 up
#

# ifconfig bridge1
bridge1: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric
0 mtu 1500
        options=10<VLAN_HWTAGGING>
        ether 58:9c:fc:10:e2:e3
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        bridge flags=1<VLANFILTER>
        member: igb1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                port 2 priority 128 path cost 20000 vlan protocol 802.1q
untagged 1 tagged 20
        groups: bridge
        nd6 options=9<PERFORMNUD,IFDISABLED>
# 

now try to ping gateway over vlan20:
# ping -c1 192.168.20.1
PING 192.168.20.1 (192.168.20.1): 56 data bytes
ping: sendto: Host is down
--- 192.168.20.1 ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss

>>> does not work


now fix that:
# ifconfig igb1 -vlanhwfilter
# ping -c1 192.168.20.1
PING 192.168.20.1 (192.168.20.1): 56 data bytes
64 bytes from 192.168.20.1: icmp_seq=0 ttl=64 time=0.473 ms

--- 192.168.20.1 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.473/0.473/0.473/0.000 ms

>>> now it works 

side note - in both cases vlanhwfilter is not seen in ifconfig output (compare
with first outut):

# ifconfig igb0
igb0: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP>
metric 0 mtu 1500
        description: home
       
options=e420bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS>
        ether 00:e0:67:1f:29:90
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

proposal - either refuse to add such interface into bridge or disable
vlanhwfilter on adding

-- 
You are receiving this mail because:
You are the assignee for the bug.