[Bug 296652] ARP replies from bridge are lost (?runt packet)

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 02 Sep 2026 08:41:51 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296652

--- Comment #6 from Martin Rehak <rehak@tekkirk.org> ---
I can confirm this bug and the fix from attachment 273384 on another physical
igb device.

Server:
- FreeBSD 15.1-RELEASE-p3 amd64
- igb0: Intel I350 Gigabit Network Connection, PCI ID 8086:1521
- bridge0 members: igb0 and tap0
- IPv4 /32 aliases for classic/shared-stack jails are assigned to bridge0

Client:
- BeagleBone running Linux 4.19.94-ti-r73
- The ARP request arrives at FreeBSD as a 60-byte Ethernet frame (excluding
FCS).

Before the patch:
- The Linux neighbor entry transitioned to FAILED.
- FreeBSD tcpdump saw the request and a locally generated 46-byte reply.
- A packet capture on the upstream MikroTik switch saw the request but no reply
leave the FreeBSD igb0 port.
- Installing a static neighbor entry on Linux immediately restored ping and SSH
connectivity.

I applied the code from the current attachment 273384 to the matching
15.1-RELEASE-p3 source tree. It applied cleanly (with a one-line offset),
GENERIC built successfully, and the patched kernel booted successfully.

After the patch:
- FreeBSD tcpdump showed the incoming 60-byte request followed by a correctly
trimmed 42-byte reply.
- Linux learned the bridge MAC dynamically; both neighbor entries were
REACHABLE rather than PERMANENT.
- Ping to two bridge aliases succeeded 3/3 with no packet loss.
- SSH from the jail address to the Linux client succeeded by both IP address
and DNS name.
- The static-neighbor systemd workaround was removed and connectivity remained
functional.

This independently validates the patch on Intel I350 in addition to the
previous i210 testing.

I am available to test an updated patch if needed.

And to be honest, this work is assisted by codex. Is the patch mature enough
for merging, please?

Thank you.
Martin

-- 
You are receiving this mail because:
You are the assignee for the bug.