[Bug 276936] ixgbe: if interface is in bridge, and vlan interface on same interface is also in bridge, packets are not passed correctly

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 10 Feb 2024 08:37:45 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276936

            Bug ID: 276936
           Summary: ixgbe: if interface is in bridge, and vlan interface
                    on same interface is also in bridge, packets are not
                    passed correctly
           Product: Base System
           Version: 14.0-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: lexi.freebsd@le-fay.org

tested on: FreeBSD hemlock.eden.le-fay.org 14.0-RELEASE-p4 FreeBSD
14.0-RELEASE-p4 #8 releng/14.0-n265400-4edf3b80733e: Sat Feb 10 07:13:23 GMT
2024    
root@hemlock.eden.le-fay.org:/data/src/obj/data/src/releng/14.0/amd64.amd64/sys/HEMLOCK
amd64

sample broken configuration:

# ifconfig tap0 create
# ifconfig tap1 create
# ifconfig bridge0 create addm ix1 addm tap0 up
# ifconfig ix1.107 create vlan 107 vlandev ix0
# ifconfig bridge1 create addm ix1.107 addm tap1 up

although this config appears to work, the bridge1 interface will not pass
packets correctly, and a VM attached to tap1 will have no network connectivity.
 a VM attached to tap0 (on bridge) works fine.

this configuration works correctly, when both bridges use tagged interfaces:

# ifconfig tap0 create
# ifconfig tap1 create
# ifconfig ix1.106 create vlan 106 vlandev ix0
# ifconfig bridge0 create addm ix1.106 addm tap0 up
# ifconfig ix1.107 create vlan 107 vlandev ix0
# ifconfig bridge1 create addm ix1.107 addm tap1 up

i've only tested this with an ixgbe(4), so it may be specific to this hardware,
but disabling all VLAN-related hardware acceleration with ifconfig did not fix
the problem.

ix1: <Intel(R) X520 82599ES (SFI/SFP+)> port 0xe000-0xe01f mem
0xfb680000-0xfb6fffff,0xfbc00000-0xfbc03fff irq 55 at device 0.1 on pci10

# ifconfig ix1
ix1: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP>
metric 0 mtu 1500
options=4e53fbb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG>
        ether 90:e2:ba:1a:e1:15
        inet6 fe80::92e2:baff:fe1a:e115%ix1 prefixlen 64 scopeid 0x3
        media: Ethernet autoselect (10Gbase-Twinax
<full-duplex,rxpause,txpause>)
        status: active
        nd6 options=1<PERFORMNUD>

there are several other people who have run into this issue, for example:
- https://github.com/churchers/vm-bhyve/issues/390#issuecomment-785537662
-
https://genneko.github.io/playing-with-bsd/networking/freebsd-vlan/#do-not-bridge-the-parent-interface-of-the-vlans

maybe related to (or a dupe of) bug 240106.

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