Bug 268352 - bnxt(4) can't re-use a leaf
Summary: bnxt(4) can't re-use a leaf
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 13.1-RELEASE
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-13 13:04 UTC by Stéphane D'Alu
Modified: 2022-12-13 15:33 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stéphane D'Alu 2022-12-13 13:04:38 UTC
When loading bnxt(4) driver, numerous warning are displayed (sysctl) as well as some failure (BAR0 mapping, IFDI_ATTACH_PRE)

~~~
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.%desc)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.%driver)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.%location)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.%pnpinfo)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.%parent)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.%domain)!
bnxt0: <Broadcom BCM57416 NetXtreme-E 10GBase-T Ethernet> mem 0xb8410000-0xb841ffff,0xb8300000-0xb83fffff,0xb8422000-0xb8423fff at device 0.0 numa-domain 0 on pci17
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.iflib.driver_version)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.iflib.override_ntxqs)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.iflib.override_nrxqs)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.iflib.override_qs_enable)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.iflib.disable_msix)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.iflib.rx_budget)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.iflib.tx_abdicate)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.iflib.core_offset)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.iflib.separate_txrx)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.iflib.use_logical_cores)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.iflib.override_ntxds)!
sysctl_warn_reuse: can't re-use a leaf (dev.bnxt.0.iflib.override_nrxds)!
bnxt0: PCI BAR0 mapping failure
bnxt0: IFDI_ATTACH_PRE failed 6
device_attach: bnxt0 attach returned 6
pci0:72:0:0: Device leaked memory resources
~~~

Nevertheless the device seems to be working 
(I haven't try heavy load or complex configuration yet)

Also perhaps related to the above errors, renaming interface in rc.conf using ifconfig_xxx_name, fails to have it's ip address configured later in rc.conf

Failing example:
ifconfig_bnxt0_name="net0"
ifconfig_net0="inet aaa.bbb.ccc.ddd/24"


But the following works
ifconfig_bnxt0="inet aaa.bbb.ccc.ddd/24 name net0"
Comment 1 Stéphane D'Alu 2022-12-13 15:33:07 UTC
This will also lead to various kernel panic (often but not necessary) when performing "sysctl -a"


__curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:55
55              __asm("movq %%gs:%P1,%0" : "=r" (td) : "n" (offsetof(struct pcpu,
(kgdb) #0  __curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:55
#1  doadump (textdump=<optimized out>)
    at /usr/src/sys/kern/kern_shutdown.c:399
#2  0xffffffff805e699c in kern_reboot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:487
#3  0xffffffff805e6dbb in vpanic (fmt=<optimized out>, ap=0xfffffe02b42548f0)
    at /usr/src/sys/kern/kern_shutdown.c:920
#4  0xffffffff805e6c13 in panic (fmt=<unavailable>)
    at /usr/src/sys/kern/kern_shutdown.c:844
#5  0xffffffff8095bd4a in trap_fatal (frame=frame@entry=0xfffffe02b42549d0, 
    eva=329) at /usr/src/sys/amd64/amd64/trap.c:944
#6  0xffffffff8095c0f7 in trap_pfault (frame=0xfffffe02b42549d0, 
    usermode=false, signo=<optimized out>, ucode=<optimized out>)
    at /usr/src/sys/amd64/include/cpufunc.h:417
#7  <signal handler called>
#8  0xffffffff80729c9b in mp_ndesc_handler (oidp=0xfffff806df649600, 
    arg1=<optimized out>, arg2=1, req=0xfffffe02b4254cc0)
    at /usr/src/sys/net/iflib.c:6797
#9  0xffffffff805f7440 in sysctl_root_handler_locked (
    oid=oid@entry=0xfffff806df649600, arg1=arg1@entry=0xfffff80102de3400, 
    arg2=arg2@entry=1, req=req@entry=0xfffffe02b4254cc0, 
    tracker=tracker@entry=0xfffffe02b4254c38)
    at /usr/src/sys/kern/kern_sysctl.c:185
#10 0xffffffff805f68ab in sysctl_root (oidp=<optimized out>, 
    arg1=0xfffff80102de3400, arg1@entry=0xfffffe02b4254d80, arg2=1, 
    arg2@entry=5, req=req@entry=0xfffffe02b4254cc0)
    at /usr/src/sys/kern/kern_sysctl.c:2305
#11 0xffffffff805f6f03 in userland_sysctl (td=td@entry=0xfffffe00dca32020, 
    name=name@entry=0xfffffe02b4254d80, namelen=5, old=<optimized out>, 
    oldlenp=<optimized out>, inkernel=<optimized out>, inkernel@entry=0, 
    new=0x0, newlen=0, retval=0xfffffe02b4254de8, flags=0)
    at /usr/src/sys/kern/kern_sysctl.c:2462
#12 0xffffffff805f6d4c in sys___sysctl (td=0xfffffe00dca32020, 
    uap=0xfffffe00dca32408) at /usr/src/sys/kern/kern_sysctl.c:2335
#13 0xffffffff8095cd05 in syscallenter (td=0xfffffe00dca32020)
    at /usr/src/sys/amd64/amd64/../../kern/subr_syscall.c:161
#14 amd64_syscall (td=0xfffffe00dca32020, traced=0)
    at /usr/src/sys/amd64/amd64/trap.c:1185
#15 <signal handler called>
#16 0x000000080119b2ba in ?? ()