BPF Issue Preventing IS-IS Adjacencies in FRR from Forming

From: Mark Tinka <mark_at_tinka.africa>
Date: Fri, 12 May 2023 04:22:46 UTC
Hi all.

I have "frr8-8.5.1_1" installed on 13.2-RELEASE. I'm trying to get IS-IS 
to start and talk to a Cisco router on the side. However, it complains 
about the BPF buffer length only being 4,096 bytes long, since I am 
running Jumbo frames on all interfaces:

2023/03/31 07:12:01 ISIS: [WDVAD-TY6HY] ISIS-LFA: failed to unregister 
RLFA with LDP
2023/03/31 07:12:01 ISIS: [WDVAD-TY6HY] ISIS-LFA: failed to unregister 
RLFA with LDP
2023/03/31 07:12:01 ISIS: [WDVAD-TY6HY] ISIS-LFA: failed to unregister 
RLFA with LDP
2023/03/31 07:12:01 ISIS: [YDRGH-0DJ94] Opened BPF device /dev/bpf0
2023/03/31 07:12:01 ISIS: [QJWNQ-3FFKM] BPF buffer len = 4096
2023/03/31 07:12:01 ISIS: [V3AHD-XE2Z5] failed to set BPF buffer len 
(4096 to 9000)
2023/03/31 07:12:01 ISIS: [W02G1-H56T1] IS-IS bpf: could not transmit 
packet on em0: Input/output error
2023/03/31 07:12:01 ISIS: [G7ZA5-AT06A][EC 67108865] ISIS-Adj (1): Send 
L2 IIH on em0 failed
2023/03/31 07:12:04 ISIS: [W02G1-H56T1] IS-IS bpf: could not transmit 
packet on em0: Input/output error
2023/03/31 07:12:04 ISIS: [G7ZA5-AT06A][EC 67108865] ISIS-Adj (1): Send 
L2 IIH on em0 failed
2023/03/31 07:12:07 ISIS: [W02G1-H56T1] IS-IS bpf: could not transmit 
packet on em0: Input/output error
2023/03/31 07:12:07 ISIS: [G7ZA5-AT06A][EC 67108865] ISIS-Adj (1): Send 
L2 IIH on em0 failed

I updated "/etc/sysctl.conf" to bump it to 9,000 bytes, and the 
complaint goes away. However, the system still complains of I/O issues 
for IS-IS:

2023/05/11 16:58:24 ISIS: [W02G1-H56T1] IS-IS bpf: could not transmit 
packet on em0: Input/output error
2023/05/11 16:58:24 ISIS: [G7ZA5-AT06A][EC 67108865] ISIS-Adj (1): Send 
L2 IIH on em0 failed
2023/05/11 16:58:24 ISIS: [WDVAD-TY6HY] ISIS-LFA: failed to unregister 
RLFA with LDP
2023/05/11 16:58:24 ISIS: [WDVAD-TY6HY] ISIS-LFA: failed to unregister 
RLFA with LDP
2023/05/11 16:58:24 ISIS: [WDVAD-TY6HY] ISIS-LFA: failed to unregister 
RLFA with LDP
2023/05/11 16:58:24 ISIS: [YDRGH-0DJ94] Opened BPF device /dev/bpf0
2023/05/11 16:58:24 ISIS: [QJWNQ-3FFKM] BPF buffer len = 9000
2023/05/11 16:58:24 ISIS: [W02G1-H56T1] IS-IS bpf: could not transmit 
packet on em0: Input/output error
2023/05/11 16:58:24 ISIS: [G7ZA5-AT06A][EC 67108865] ISIS-Adj (1): Send 
L2 IIH on em0 failed
2023/05/11 16:58:27 ISIS: [W02G1-H56T1] IS-IS bpf: could not transmit 
packet on em0: Input/output error
2023/05/11 16:58:27 ISIS: [G7ZA5-AT06A][EC 67108865] ISIS-Adj (1): Send 
L2 IIH on em0 failed
2023/05/11 16:58:30 ISIS: [W02G1-H56T1] IS-IS bpf: could not transmit 
packet on em0: Input/output error
2023/05/11 16:58:30 ISIS: [G7ZA5-AT06A][EC 67108865] ISIS-Adj (1): Send 
L2 IIH on em0 failed
2023/05/11 16:58:33 ISIS: [W02G1-H56T1] IS-IS bpf: could not transmit 
packet on em0: Input/output error
2023/05/11 16:58:33 ISIS: [G7ZA5-AT06A][EC 67108865] ISIS-Adj (1): Send 
L2 IIH on em0 failed
2023/05/11 16:58:36 ISIS: [W02G1-H56T1] IS-IS bpf: could not transmit 
packet on em0: Input/output error
2023/05/11 16:58:36 ISIS: [G7ZA5-AT06A][EC 67108865] ISIS-Adj (1): Send 
L2 IIH on em0 failed

I've been working with the FRR and NANOG lists and developers on this 
since 2020, as per below:

https://seclists.org/nanog/2020/Apr/226

The FRR team indicate that this issue does not exist on Linux; only on 
FreeBSD.

Grateful if anyone can point me in the right direction on how to deal 
with this, as it appears to be unique to FreeBSD. Thanks.

Mark.