Bug 272090 - [igb][i350] hwvlanfilter issue
Summary: [igb][i350] hwvlanfilter issue
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 13.2-RELEASE
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-net (Nobody)
URL:
Keywords: IntelNetworking
Depends on:
Blocks:
 
Reported: 2023-06-20 09:55 UTC by Konrad
Modified: 2023-06-25 03:52 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Konrad 2023-06-20 09:55:27 UTC
Hello,

I have server (FreeBSD 13.2-RELEASE) with 2x1Gbps

pciconf -lBbcevV igb1
igb1@pci0:1:0:1:	class=0x020000 rev=0x02 hdr=0x00 vendor=0x8086 device=0x10a7 subvendor=0x8086 subdevice=0x34dc
    vendor     = 'Intel Corporation'
    device     = '82575EB Gigabit Network Connection'

pciconf -lBbcevV igb0
igb0@pci0:1:0:0:	class=0x020000 rev=0x02 hdr=0x00 vendor=0x8086 device=0x10a7 subvendor=0x8086 subdevice=0x34dc
    vendor     = 'Intel Corporation'
    device     = '82575EB Gigabit Network Connection'

Configured lagg0 on them:


ifconfig_igb1="-tso -lro up"
ifconfig_igb0="-tso -lro up"
cloned_interfaces="lagg0 vlan88 vlan5"

#LAGG LACP
ifconfig_lagg0="laggproto lacp laggport igb0 laggport igb1 up -wol -tso -lro"

 # ifconfig lagg0
lagg0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=4e500bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,NOMAP>


everything works correctly. 

I decide to add another network card (Intel i350 2x1Gbps)

pciconf -lBbcevV igb2
igb2@pci0:3:0:0:	class=0x020000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x1521 subvendor=0x8086 subdevice=0x5002
    vendor     = 'Intel Corporation'
    device     = 'I350 Gigabit Network Connection'


pciconf -lBbcevV igb3
igb3@pci0:3:0:1:	class=0x020000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x1521 subvendor=0x8086 subdevice=0x5002
    vendor     = 'Intel Corporation'
    device     = 'I350 Gigabit Network Connection'

Both Network cards using the same driver:

sysctl dev.igb | grep driver
dev.igb.3.iflib.driver_version: 7.6.1-k
dev.igb.3.%driver: igb
dev.igb.2.iflib.driver_version: 7.6.1-k
dev.igb.2.%driver: igb
dev.igb.1.iflib.driver_version: 7.6.1-k
dev.igb.1.%driver: igb
dev.igb.0.iflib.driver_version: 7.6.1-k
dev.igb.0.%driver: igb


I added igb2 and igb3 to lagg0 and server stop recieve traffic. I did some test and I noticed that igb2 and igb3 does not recievie tagged frames. I did a separate one lagg1 with igb2 and igb3. While lagg1 has default VLAN_HWFILTER servers does not see tagged frame. Disabling VLAN_HWFILTER solves the problem.
Comment 1 Krzysztof Galazka 2023-06-22 07:01:07 UTC
(In reply to Konrad from comment #0)

Are those vlan interfaces:
cloned_interfaces="lagg0 vlan88 vlan5"
configured on top of lagg0? Could you, please, provide exact config?
Comment 2 Konrad 2023-06-22 08:52:18 UTC
Yes, vlans on them:

ifconfig_igb1="-tso -lro up" #82575EB
ifconfig_igb0="-tso -lro up" #82575EB
ifconfig_igb2="-tso -lro up" #i350
ifconfig_igb3="-tso -lro up" #i350
cloned_interfaces="lagg0 vlan88 vlan5"


#LAGG LACP
ifconfig_lagg0="laggproto lacp laggport igb0 laggport igb1 laggport igb2 laggport igb3 up -wol -tso -lro"

ifconfig_vlan88="inet 10.8.8.112 netmask 255.255.255.0 vlan 88 vlandev lagg0"
ifconfig_vlan5="inet 10.9.5.200 netmask 255.255.255.0 vlan 5 vlandev lagg0"
Comment 3 Piotr Kubaj freebsd_committer freebsd_triage 2023-06-22 13:01:53 UTC
To rule out possible bug in i350 code, can you retry with i350 alone?
Comment 4 Konrad 2023-06-22 13:31:00 UTC
I did separate lagg1 with i350 only

fconfig_igb2="-tso -lro up"
ifconfig_igb3="-tso -lro up"


ifconfig_lagg1="laggproto lacp laggport igb2 laggport igb3 up -wol -tso -lro"

ifconfig_vlan88="inet 10.8.8.112 netmask 255.255.255.0 vlan 88 vlandev lagg1"
ifconfig_vlan5="inet 10.9.5.200 netmask 255.255.255.0 vlan 5 vlandev lagg1"

I see only untagged flow (LLDP) using tcpdump -ni lagg1
when I put ifconfig lagg1 -vlanhwfilter I see proper traffic, including tagged vlans
Comment 5 Piotr Kubaj freebsd_committer freebsd_triage 2023-06-22 14:12:50 UTC
Can you paste the whole block from dmesg? I'm interested in the EEPROM. For the record, pings works:
igb0: <Intel(R) I350 (Copper)> mem 0x9c200000-0x9c2fffff,0x9c30c000-0x9c30ffff at device 0.0 on pci6
igb0: EEPROM V1.63-0 eTrack 0x80000ee3
igb0: Using 1024 TX descriptors and 1024 RX descriptors
igb0: Using 8 RX queues 8 TX queues
igb0: Using MSI-X interrupts with 9 vectors
igb0: Ethernet address: b4:96:91:2a:6b:e4
igb0: netmap queues/slots: TX 8/1024, RX 8/1024
Comment 6 Konrad 2023-06-22 14:38:32 UTC
dmesg is gone but I can put:


sysctl -a | grep -i eeprom
dev.igb.3.fw_version: EEPROM V1.67-0 Option ROM V17-b0-p12 eTrack 0x80000dd0
dev.igb.2.fw_version: EEPROM V1.67-0 Option ROM V17-b0-p12 eTrack 0x80000dd0
dev.igb.1.fw_version: EEPROM V2.4-0 eTrack 0x00012b80
dev.igb.0.fw_version: EEPROM V2.4-0 eTrack 0x00012b80


sysctl -a | grep -i igb.3 | grep -i pnpinfo
dev.igb.3.%pnpinfo: vendor=0x8086 device=0x1521 subvendor=0x8086 subdevice=0x5002 class=0x020000


igb3@pci0:3:0:1:	class=0x020000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x1521 subvendor=0x8086 subdevice=0x5002
    vendor     = 'Intel Corporation'
    device     = 'I350 Gigabit Network Connection'
    class      = network
    subclass   = ethernet
    bar   [10] = type Memory, range 32, base rxb1a00000, size 1048576, enabled
    bar   [1c] = type Memory, range 32, base rxb1c00000, size 16384, enabled
    cap 01[40] = powerspec 3  supports D0 D3  current D0
    cap 05[50] = MSI supports 1 message, 64 bit, vector masks 
    cap 11[70] = MSI-X supports 10 messages, enabled
                 Table in map 0x1c[0x0], PBA in map 0x1c[0x2000]
    cap 10[a0] = PCI-Express 2 endpoint max data 256(512) FLR RO NS
                 max read 512
                 link x4(x4) speed 5.0(5.0) ASPM disabled(L0s/L1)
    cap 03[e0] = VPD
    ecap 0001[100] = AER 2 0 fatal 0 non-fatal 1 corrected
    ecap 0003[140] = Serial 1 a0369fffff909f90
    ecap 000e[150] = ARI 1
    ecap 0010[160] = SR-IOV 1 IOV disabled, Memory Space disabled, ARI disabled
                     0 VFs configured out of 8 supported
                     First VF RID Offset 0x0080, VF RID Stride 0x0004
                     VF Device ID 0x1520
                     Page Sizes: 4096 (enabled), 8192, 65536, 262144, 1048576, 4194304
    ecap 0017[1a0] = TPH Requester 1
    ecap 000d[1d0] = ACS 1 Source Validation unavailable, Translation Blocking unavailable
                     P2P Req Redirect unavailable, P2P Cmpl Redirect unavailable
                     P2P Upstream Forwarding unavailable, P2P Egress Control unavailable
                     P2P Direct Translated unavailable, Enhanced Capability unavailable
  PCI-e errors = Correctable Error Detected
                 Unsupported Request Detected
     Corrected = Advisory Non-Fatal Error
    VPD ident  = 'I350 GbE Controller'
    VPD ro V0  = 'FFV17.0.12'
    VPD ro PN  = '424RR'
    VPD ro MN  = '1028'
    VPD ro V1  = 'DSV1028VPDR.VER1.0'
    VPD ro V3  = 'DTINIC'
    VPD ro V4  = 'DCM1001008FC52101008FC53201008FC54301008FC5'
    VPD ro V5  = 'NPY2'
    VPD ro V6  = 'PMT13'
    VPD ro V7  = 'NMVIntel Corp'
Comment 7 Piotr Kubaj freebsd_committer freebsd_triage 2023-06-22 16:07:01 UTC
Can you check whether it works on 13.1-RELEASE or CURRENT?
Comment 8 Piotr Kubaj freebsd_committer freebsd_triage 2023-06-23 13:42:29 UTC
If you find that it doesn't work as well, can you try changing DBG macro in /usr/src/sys/dev/e1000/e1000_osdep.h to 0 and rebuilding the kernel? When you try to reproduce your issue then, you should get various debugging informations in the dmesg which may help fix your issue.