Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions doc/ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,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
- Fix MAC address input validation in infix-interfaces YANG.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an important fix and needs a clear ChangeLog message. "Fix" does not say what the change actually does, I suggest something along the lines of "Disallow multicast MAC addresses in custom MAC address configuration", or something to that effect.


[v26.04.0][] - 2026-04-30
-------------------------
Expand All @@ -25,6 +26,7 @@ All notable changes to the project are documented in this file.

- Upgrade Linux kernel to 6.18.25 (LTS)
- Upgrade Buildroot to 2025.02.13 (LTS)
- Upgrade FRR to 10.5.4
- Add support for per-bridge multicast router port in operational, issue #395
- Add support for static ARP (IPv4) and neighbor cache (IPv6) entries per
interface, issue #819. Static entries are installed as permanent kernel
Expand Down
Original file line number Diff line number Diff line change
@@ -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?= <lazzer@gmail.com>
Date: Tue, 27 Jan 2026 22:54:59 +0100
Subject: [PATCH 1/3] Libyang4 compat
Expand Down
Original file line number Diff line number Diff line change
@@ -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?= <lazzer@gmail.com>
Date: Fri, 30 Jan 2026 13:00:12 +0100
Subject: [PATCH 2/3] Failed without c++ 23, this adds compatibility layer
Expand Down Expand Up @@ -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();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -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 <troglobit@gmail.com>
Date: Sun, 22 Feb 2026 10:22:06 +0100
Subject: [PATCH 3/3] zebra: don't resolve nexthop via inactive connected route
Expand Down
4 changes: 2 additions & 2 deletions src/confd/yang/confd/infix-if-bridge.yang
Original file line number Diff line number Diff line change
Expand Up @@ -939,8 +939,8 @@ submodule infix-if-bridge {
must "not(../ip:ipv4/ip:address or ../ip:ipv6/ip:address)" {
error-message "Bridge ports cannot have IP addresses configured.";
}
must "not(derived-from-or-self(../if:type, 'infix-ift:wifi')) or ../infix-if:wifi/infix-if:access-point" {
error-message "WiFi interfaces can only be bridge ports when configured as Access Points.";
must "not(derived-from-or-self(../if:type, 'infix-ift:wifi')) or ../infix-if:wifi/infix-if:access-point or ../infix-if:wifi/infix-if:mesh-point" {
error-message "WiFi interfaces can only be bridge ports when configured as Access Points or Mesh Points.";
}
description "Bridge association and port specific settings.";
uses bridge-port-common;
Expand Down
15 changes: 12 additions & 3 deletions src/confd/yang/confd/infix-interfaces.yang
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down Expand Up @@ -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).";
}
}
}
}

Expand All @@ -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;
}
}
}
Expand Down
Loading