Summary: | net/dhcpcd: (9.2.0) endless CPU spinning and logspam 'ps_bpf_recvbpf: Device not configured' after Mellanox NIC reinitializes after suspend | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Val Packett <val> | ||||||||
Component: | Individual Port(s) | Assignee: | Ben Woods <woodsb02> | ||||||||
Status: | Closed FIXED | ||||||||||
Severity: | Affects Only Me | CC: | roy, val | ||||||||
Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(woodsb02) |
||||||||
Version: | Latest | ||||||||||
Hardware: | Any | ||||||||||
OS: | Any | ||||||||||
Attachments: |
|
Description
Val Packett
2020-10-23 15:55:29 UTC
Created attachment 219054 [details] Remove interface on ENXIO Pretty hard for me to test this sadly. It looks like your interface does a hardware reset and this confuses dhcpcd. Hopefully the attached patch helps. When this happens, the interface is clearly not available by name because if_getmtu fails. So it won't be reported by ifconfig(8). This at least will stop the constant log spam. However if dhcpcd is started for a single interface it will exit. You will need to run dhcpcd on all interfaces (ie dhcpcd_enable=YES in rc.conf rather than ifconfig_foo=DHCP). If dhcpcd does not recover then it's either that the kernel does not send RTM_IFANNOUNCE messages for this which is very bad or they got lost as route(4) overflowed. I can't really help for the former, but for the latter there is a kernel patch here so that dhcpcd can spot route(4) overflows and recover: https://reviews.freebsd.org/D26652 Created attachment 219060 [details]
Close BPF socket on ENXIO
Actually this patch is all that's needed for dhcpcd.
Created attachment 219061 [details]
Close BPF socket on ENXIO
Test if BPF socket has been closed earlier if resending.
Updated to 9.3.2, which includes the fix. Looks like it's good now. Nov 6 15:00:12 ruunvald kernel: [2049] mlx4_core0: device was reset successfully Nov 6 15:00:15 ruunvald dhcpcd[57525]: mlxen0: ps_bpf_recvbpf: Device not configured Nov 6 15:00:15 ruunvald avahi-daemon[82553]: IPV6_DROP_MEMBERSHIP failed: Can't assign requested address Nov 6 15:00:15 ruunvald dhcpcd[55689]: mlxen0: if_getmtu: Device not configured Nov 6 15:00:15 ruunvald dhcpcd[55689]: ipv6nd_applyra: Device not configured [..mlx stuff..] Nov 6 15:00:21 ruunvald kernel: [2059] mlxen0: link state changed to UP and no leftover BPF ARP process spinning on cpu. Thanks! |