The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=110a2fa97d513c424105cbc113ab0fc36f1f2d36
commit 110a2fa97d513c424105cbc113ab0fc36f1f2d36 Author: Lexi Winter <i...@freebsd.org> AuthorDate: 2025-08-22 23:43:48 +0000 Commit: Lexi Winter <i...@freebsd.org> CommitDate: 2025-08-22 23:43:48 +0000 bridge: Restore ABI compatibility with 14.x When new fields were added to struct ifbreq in 15.0, the decision was made to not use the padding to preserve binary compatibility. However this causes some issues, including the inability for 14.x jails to use bridges, and a failure to bring up networking when booting a 15 kernel with a 14.x userland, e.g. during upgrade. Restore the old size of struct ifbreq by eating some of the padding. This only requires 4 bytes of padding; we have 28 bytes left, and in the medium term this problem will be solved with a netlink interface, so running out of padding should not be a concern. Fixes: 65ed1a035ceb ("bridge: allow member interface vlan to be configured") Fixes: f94c370de6e7 ("bridge: Allow VLAN protocol to be configured") Reviewed by: zlei, kevans, flo Differential Revision: https://reviews.freebsd.org/D52028 --- UPDATING | 9 +++++++++ sys/net/if_bridgevar.h | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 575669b8bc64..da6089ad16d8 100644 --- a/UPDATING +++ b/UPDATING @@ -27,6 +27,15 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20250823: + To restore bridge(4)'s ABI compatibility with ifconfig from 14.x or + earlier, the size of struct ifbreq has changed, so you must update + the kernel and /sbin/ifconfig at the same time or you will not be + able to add interfaces to bridge. This is particularly important + if you require bridge for network access during boot, in which case + you should install the new kernel and the new /sbin/ifconfig prior + to rebooting. + 20250820: The WITHOUT_GSSAPI src.conf knob has been removed. This was already a no-op for MIT Kerberos, so this only affects builds which set diff --git a/sys/net/if_bridgevar.h b/sys/net/if_bridgevar.h index b0f579f688ac..5ed8c19f3128 100644 --- a/sys/net/if_bridgevar.h +++ b/sys/net/if_bridgevar.h @@ -159,7 +159,7 @@ struct ifbreq { uint32_t ifbr_addrexceeded; /* member if addr violations */ ether_vlanid_t ifbr_pvid; /* member if PVID */ uint16_t ifbr_vlanproto; /* member if VLAN protocol */ - uint8_t pad[32]; + uint8_t pad[28]; }; /* BRDGGIFFLAGS, BRDGSIFFLAGS */