diff --git a/buildroot b/buildroot index 168601af4..a40d69265 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 168601af48567b93bfe0d7bdae3cc8eb266718a5 +Subproject commit a40d69265ea75afd4a1833e1f6400195b12e67a5 diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index 3a2d3818d..6c3d95ca0 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -9,6 +9,7 @@ All notable changes to the project are documented in this file. ### Changes - Upgrade Linux kernel to 6.18.31 (LTS) +- Upgrade FRR to 10.5.4 ### Fixes @@ -17,6 +18,7 @@ All notable changes to the project are documented in this file. - Handle unclean daemon exits better, e.g., `dbus-daemon` crashing and leaving a stale pidfile behind, causing it to refuse to be restarted - Fix occasional blank or garbled `[ OK ]` lines at startup +- Disallow multicast MAC addresses in custom MAC address configuration [v26.04.0][] - 2026-04-30 ------------------------- diff --git a/patches/frr/10.5.3/0001-Libyang4-compat.patch b/patches/frr/10.5.4/0001-Libyang4-compat.patch similarity index 98% rename from patches/frr/10.5.3/0001-Libyang4-compat.patch rename to patches/frr/10.5.4/0001-Libyang4-compat.patch index 863ab0f78..a7d727b93 100644 --- a/patches/frr/10.5.3/0001-Libyang4-compat.patch +++ b/patches/frr/10.5.4/0001-Libyang4-compat.patch @@ -1,4 +1,4 @@ -From 39ebf709e91a89f59e14ac1d1179df170448d09a Mon Sep 17 00:00:00 2001 +From 72ad44e1e215cded7c8bf3209203b5d1b32e179d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20Walstr=C3=B6m?= Date: Tue, 27 Jan 2026 22:54:59 +0100 Subject: [PATCH 1/3] Libyang4 compat diff --git a/patches/frr/10.5.3/0002-Failed-without-c-23-this-adds-compatibility-layer.patch b/patches/frr/10.5.4/0002-Failed-without-c-23-this-adds-compatibility-layer.patch similarity index 96% rename from patches/frr/10.5.3/0002-Failed-without-c-23-this-adds-compatibility-layer.patch rename to patches/frr/10.5.4/0002-Failed-without-c-23-this-adds-compatibility-layer.patch index 37b886321..59bd5947f 100644 --- a/patches/frr/10.5.3/0002-Failed-without-c-23-this-adds-compatibility-layer.patch +++ b/patches/frr/10.5.4/0002-Failed-without-c-23-this-adds-compatibility-layer.patch @@ -1,4 +1,4 @@ -From 6f7ff746c4016ea6e6d81c7abad088f5a86f8fbf Mon Sep 17 00:00:00 2001 +From 80634c421c695b191c54d94feda6fb6c32c17eb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20Walstr=C3=B6m?= Date: Fri, 30 Jan 2026 13:00:12 +0100 Subject: [PATCH 2/3] Failed without c++ 23, this adds compatibility layer @@ -67,10 +67,10 @@ index 97c7460079..8fe8b10c05 100644 #define zassert assert diff --git a/lib/zlog.c b/lib/zlog.c -index 157f3323cb..7e7b6f0c25 100644 +index eb9b1c236b..b1d23a08d9 100644 --- a/lib/zlog.c +++ b/lib/zlog.c -@@ -789,6 +789,51 @@ void _zlog_assert_failed(const struct xref_assert *xref, const char *extra, ...) +@@ -792,6 +792,51 @@ void _zlog_assert_failed(const struct xref_assert *xref, const char *extra, ...) abort(); } diff --git a/patches/frr/10.5.3/0003-zebra-don-t-resolve-nexthop-via-inactive-connected-r.patch b/patches/frr/10.5.4/0003-zebra-don-t-resolve-nexthop-via-inactive-connected-r.patch similarity index 97% rename from patches/frr/10.5.3/0003-zebra-don-t-resolve-nexthop-via-inactive-connected-r.patch rename to patches/frr/10.5.4/0003-zebra-don-t-resolve-nexthop-via-inactive-connected-r.patch index f68cb70d4..377975657 100644 --- a/patches/frr/10.5.3/0003-zebra-don-t-resolve-nexthop-via-inactive-connected-r.patch +++ b/patches/frr/10.5.4/0003-zebra-don-t-resolve-nexthop-via-inactive-connected-r.patch @@ -1,4 +1,4 @@ -From 868d13c0982a0633e4144d03776358837d92cd8b Mon Sep 17 00:00:00 2001 +From 939a6bd1c38f8fe37236696a862c659b8fa96b07 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 22 Feb 2026 10:22:06 +0100 Subject: [PATCH 3/3] zebra: don't resolve nexthop via inactive connected route diff --git a/src/confd/yang/confd.inc b/src/confd/yang/confd.inc index 6a6505b0f..291bc4cac 100644 --- a/src/confd/yang/confd.inc +++ b/src/confd/yang/confd.inc @@ -47,7 +47,7 @@ MODULES=( "ieee802-ethernet-interface@2019-06-21.yang" "infix-ethernet-interface@2024-02-27.yang" "infix-factory-default@2023-06-28.yang" - "infix-interfaces@2026-04-29.yang -e vlan-filtering" + "infix-interfaces@2026-05-13.yang -e vlan-filtering" "ietf-crypto-types -e cleartext-symmetric-keys" "infix-crypto-types@2026-02-14.yang" "ietf-keystore -e symmetric-keys" diff --git a/src/confd/yang/confd/infix-interfaces.yang b/src/confd/yang/confd/infix-interfaces.yang index 03c9c8a61..f4de3640f 100644 --- a/src/confd/yang/confd/infix-interfaces.yang +++ b/src/confd/yang/confd/infix-interfaces.yang @@ -41,6 +41,11 @@ module infix-interfaces { contact "kernelkit@googlegroups.com"; description "Linux bridge and lag extensions for ietf-interfaces."; + revision 2026-05-13 { + description "Add limitations on custom mac addresses on interfaces, now needs to be a correct unicast mac-address"; + reference "internal"; + } + revision 2026-04-29 { description "Add operational state for multicast router ports per bridge."; reference "internal"; @@ -235,8 +240,12 @@ module infix-interfaces { case static { leaf static { - description "Statically configured interface address on protocol sub-layer, e.g., MAC."; - type yang:phys-address; + description "Statically configured unicast MAC address."; + type yang:mac-address { + pattern '[0-9a-fA-F][02468aAcCeE]:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}' { + error-message "Must be a unicast MAC address (multicast bit must not be set)."; + } + } } } @@ -247,7 +256,7 @@ module infix-interfaces { leaf offset { description "Static offset added to the chassis MAC address."; - type yang:phys-address; + type yang:mac-address; } } } diff --git a/src/confd/yang/confd/infix-interfaces@2026-04-29.yang b/src/confd/yang/confd/infix-interfaces@2026-05-13.yang similarity index 100% rename from src/confd/yang/confd/infix-interfaces@2026-04-29.yang rename to src/confd/yang/confd/infix-interfaces@2026-05-13.yang