[Bug 230996] em/igb: Intel i210/i350: ifconfig: enabling "vlanhwtag" renders VLAN on i210/i350 NICs unusable

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 30 May 2021 02:50:16 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230996

Bert JW Regeer <xistence@0x58.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |xistence@0x58.com

--- Comment #31 from Bert JW Regeer <xistence@0x58.com> ---
Following up with a "me too" on FreeBSD 13.0-RELEASE, with the following
configuration:


igb0/igb1/igb2/igb3 in a lagg0 on top of which there are multiple vlan
interfaces that are created.

On FreeBSD 13, even disabling all the hardware assists I was unable to get
traffic to flow, on FreeBSD 12.2, no issues at all and everything functions as
designed.

Some information:

igb0@pci0:1:0:0:        class=0x020000 card=0x00008086 chip=0x15398086 rev=0x03
hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'I211 Gigabit Network Connection'
    class      = network
    subclass   = ethernet


igb0: <Intel(R) PRO/1000 PCI-Express Network Driver> port 0xe000-0xe01f mem
0xdf500000-0xdf51ffff,0xdf520000-0xdf523fff irq 16 at device 0.0 on pci1
igb0: Using 1024 TX descriptors and 1024 RX descriptors
igb0: Using 2 RX queues 2 TX queues
igb0: Using MSI-X interrupts with 3 vectors
igb0: Ethernet address: 40:62:31:08:92:76
igb0: netmap queues/slots: TX 2/1024, RX 2/1024

root@Breached:/usr/home/xistence # ifconfig igb0
igb0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
       
options=e527bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 40:62:31:08:92:76
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
root@Breached:/usr/home/xistence # ifconfig lagg0
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
       
options=e527bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 40:62:31:08:92:76
        inet6 fe80::4262:31ff:fe08:9276%lagg0 prefixlen 64 scopeid 0x8
        inet6 2604:5500:c22a:7f00:4262:31ff:fe08:9276 prefixlen 64
        inet 172.16.109.1 netmask 0xffffff00 broadcast 172.16.109.255
        laggproto lacp lagghash l2,l3,l4
        laggport: igb0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
        laggport: igb1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
        laggport: igb2 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
        laggport: igb3 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
        groups: lagg
        media: Ethernet autoselect
        status: active
        nd6 options=61<PERFORMNUD,AUTO_LINKLOCAL,NO_RADR>
root@Breached:/usr/home/xistence # ifconfig vlan10
vlan10: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
        options=600703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 40:62:31:08:92:76
        inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255
        inet6 fe80::4262:31ff:fe08:9276%vlan10 prefixlen 64 scopeid 0x9
        inet6 2604:5500:c22a:7f01:4262:31ff:fe08:9276 prefixlen 64
        groups: vlan
        vlan: 10 vlanpcp: 0 parent interface: lagg0
        media: Ethernet autoselect
        status: active
        nd6 options=61<PERFORMNUD,AUTO_LINKLOCAL,NO_RADR>

This is unfortunately my primary router to the internet, so I am unable to
experiment with patches.

Things I did note:

- traffic on lagg0 did function (untagged)
- tcpdump on lagg0 did not show any 802.1q frames
- tcpdump on igb0 DID show 802.1q frames, but only rx, no tx
- rx worked on the vlan interfaces (saw packets coming in)
- tx did NOT work, no data was transmitted

If this is the wrong bug, please let me know and I can file a new one.

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