Bug 287395 - bnxt(4): BCM57416 not active after 14.2 to 14.3 upgrade
Summary: bnxt(4): BCM57416 not active after 14.2 to 14.3 upgrade
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 14.3-RELEASE
Hardware: amd64 Any
: --- Affects Some People
Assignee: freebsd-net (Nobody)
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2025-06-09 12:48 UTC by mickael.maillot
Modified: 2025-06-14 23:55 UTC (History)
5 users (show)

See Also:


Attachments
sysctl dev.bnxt output on 14.3 (79.39 KB, text/plain)
2025-06-09 12:48 UTC, mickael.maillot
no flags Details
fix media list for BASE-T (743 bytes, patch)
2025-06-13 20:40 UTC, cyric@mm.st
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description mickael.maillot 2025-06-09 12:48:17 UTC
Created attachment 261116 [details]
sysctl dev.bnxt output on 14.3

I just booted 14.3-RELEASE kernel and cannot reach the box so, here a some info i collected some info before going back to kernel 14.2

dmesg bnxt lines show no diff.
sysctl output attached.

pciconf -vl:
bnxt0@pci0:71:0:0:      class=0x020000 rev=0x01 hdr=0x00 vendor=0x14e4 device=0x16d8 subvendor=0x15d9 subdevice=0x16d8
    vendor     = 'Broadcom Inc. and subsidiaries'
    device     = 'BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller'
    class      = network
    subclass   = ethernet
bnxt1@pci0:71:0:1:      class=0x020000 rev=0x01 hdr=0x00 vendor=0x14e4 device=0x16d8 subvendor=0x15d9 subdevice=0x16d8
    vendor     = 'Broadcom Inc. and subsidiaries'
    device     = 'BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller'
    class      = network
    subclass   = ethernet


ifconfig diff:
bnxt0: 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 3c:ec:ef:a5:d2:50
-       media: Ethernet autoselect (1000baseT <full-duplex>)
+       media: Ethernet autoselect (Unknown <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
 bnxt1: 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 3c:ec:ef:a5:d2:50
        hwaddr 3c:ec:ef:a5:d2:51
-       media: Ethernet autoselect (1000baseT <full-duplex>)
+       media: Ethernet autoselect (Unknown <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
 lagg0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
@@ -23,8 +23,8 @@
        ether 3c:ec:ef:a5:d2:50
        hwaddr 00:00:00:00:00:00
        laggproto lacp lagghash l2,l3,l4
-       laggport: bnxt0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
-       laggport: bnxt1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
+       laggport: bnxt0 flags=18<COLLECTING,DISTRIBUTING>
+       laggport: bnxt1 flags=18<COLLECTING,DISTRIBUTING>
        groups: lagg
        media: Ethernet autoselect
        status: active
Comment 1 Einar Bjarni Halldórsson 2025-06-13 14:54:42 UTC
We're seeing the same thing after upgrading to 14.3-RELEASE.

bnxt0@pci0:198:0:0:	class=0x020000 rev=0x01 hdr=0x00 vendor=0x14e4 device=0x16d8 subvendor=0x15d9 subdevice=0x16d8
    vendor     = 'Broadcom Inc. and subsidiaries'
    device     = 'BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller'
    class      = network
    subclass   = ethernet
bnxt1@pci0:198:0:1:	class=0x020000 rev=0x01 hdr=0x00 vendor=0x14e4 device=0x16d8 subvendor=0x15d9 subdevice=0x16d8
    vendor     = 'Broadcom Inc. and subsidiaries'
    device     = 'BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller'
    class      = network
    subclass   = ethernet

Exactly same symptoms. Running now on only one interface, no lagg, until we can fix lacp
Comment 2 cyric@mm.st 2025-06-13 20:40:47 UTC
Created attachment 261245 [details]
fix media list for BASE-T

I'm not sure if fixing the difference in media output would solve the real LACP problem here, can't test as I don't have LACP-capable switch, but the regression should be fixed anyway.  The patch is against the main branch, but likely should apply to releng/14.3 as well, please test if it helps with LACP.
Comment 3 Einar Bjarni Halldórsson 2025-06-13 22:18:49 UTC
I tried the patch and it works!

$ ifconfig
lo0: flags=1008049<UP,LOOPBACK,RUNNING,MULTICAST,LOWER_UP> metric 0 mtu 16384
	options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
	inet 127.0.0.1 netmask 0xff000000
	inet6 ::1 prefixlen 128
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
	groups: lo
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
bnxt0: 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 3c:ec:ef:e5:ca:de
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
bnxt1: 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 3c:ec:ef:e5:ca:de
	hwaddr 3c:ec:ef:e5:ca:df
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
lagg0: 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 3c:ec:ef:e5:ca:de
	hwaddr 00:00:00:00:00:00
	inet 185.93.156.40 netmask 0xffffff80 broadcast 185.93.156.127
	inet6 fe80::3eec:efff:fee5:cade%lagg0 prefixlen 64 scopeid 0x4
	inet6 2001:67c:6c:56::40 prefixlen 64
	laggproto lacp lagghash l2,l3,l4
	laggport: bnxt0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
	laggport: bnxt1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
	groups: lagg
	media: Ethernet autoselect
	status: active
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
Comment 4 commit-hook freebsd_committer freebsd_triage 2025-06-14 23:55:35 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=5e6e4f752833acc96f1efc893318d3f6b74b9689

commit 5e6e4f752833acc96f1efc893318d3f6b74b9689
Author:     Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2025-06-14 23:46:05 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2025-06-14 23:54:22 +0000

    bnxt: Fix BASE-T, 40G AOC, 1G-CX, autoneg and unknown media lists

    This was broken in c63d67e137f3, the early returns prevent building the
    media lists as expected.

    The BASE-T parts of the patch were suggested by "cyric@mm.st", while I
    am adding the additional 40G AOC, 1CX, autoneg and unknown PHY fixes
    based on code inspection.  There may be additional work left here for
    Broadcom but this is certainly better than the returns.

    PR:             287395

    Reported by:    mickael.maillot@gmail.com, cyric@mm.st
    Tested by:      Einar Bjarni Halldórsson <einar@isnic.is>
    MFC after:      1 week

 sys/dev/bnxt/bnxt_en/if_bnxt.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)