diff --git a/board/aarch64/alder-alder/Config.in b/board/aarch64/alder-alder/Config.in index 12a19e1d9..5ad5cd86e 100644 --- a/board/aarch64/alder-alder/Config.in +++ b/board/aarch64/alder-alder/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_ALDER_ALDER bool "Alder" depends on BR2_aarch64 + select BR2_PACKAGE_LINUX_FIRMWARE_INSIDE_SECURE_MINIFW help Alder diff --git a/board/aarch64/marvell-cn9130-crb/Config.in b/board/aarch64/marvell-cn9130-crb/Config.in index 3ede2b83c..38f36041a 100644 --- a/board/aarch64/marvell-cn9130-crb/Config.in +++ b/board/aarch64/marvell-cn9130-crb/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_MARVELL_CN9130_CRB bool "Marvell CN9130-CRB" depends on BR2_aarch64 + select BR2_PACKAGE_LINUX_FIRMWARE_INSIDE_SECURE_MINIFW help Customer Reference Board for CN9130 diff --git a/board/aarch64/marvell-espressobin/Config.in b/board/aarch64/marvell-espressobin/Config.in index a8bed5f6e..0537da7c8 100644 --- a/board/aarch64/marvell-espressobin/Config.in +++ b/board/aarch64/marvell-espressobin/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_MARVELL_ESPRESSOBIN bool "Marvell ESPRESSObin" depends on BR2_aarch64 + select BR2_PACKAGE_LINUX_FIRMWARE_INSIDE_SECURE_MINIFW help Marvell ESPRESSObin diff --git a/board/aarch64/styx-dcp-sc-28p/Config.in b/board/aarch64/styx-dcp-sc-28p/Config.in index 2fa8832b8..09a9fd1b0 100644 --- a/board/aarch64/styx-dcp-sc-28p/Config.in +++ b/board/aarch64/styx-dcp-sc-28p/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_STYX_DCP_SC_28P bool "Styx DCP-SC-28P" depends on BR2_aarch64 + select BR2_PACKAGE_LINUX_FIRMWARE_INSIDE_SECURE_MINIFW help Styx DCP-SC-28P diff --git a/configs/aarch64_defconfig b/configs/aarch64_defconfig index 5fcaf15f0..cc22f544d 100644 --- a/configs/aarch64_defconfig +++ b/configs/aarch64_defconfig @@ -27,7 +27,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y @@ -41,9 +41,6 @@ BR2_PACKAGE_DBUS_CXX=y BR2_PACKAGE_DBUS_GLIB=y BR2_PACKAGE_EUDEV_RULES_GEN=y # BR2_PACKAGE_EUDEV_ENABLE_HWDB is not set -BR2_PACKAGE_GPSD_DEVICES="/dev/gps0" -BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE=2 -BR2_PACKAGE_GPSD_MAX_DEV_VALUE=1 BR2_PACKAGE_GPTFDISK=y BR2_PACKAGE_GPTFDISK_SGDISK=y BR2_PACKAGE_MDIO_TOOLS=y diff --git a/configs/aarch64_minimal_defconfig b/configs/aarch64_minimal_defconfig index e535b5350..73ac12baa 100644 --- a/configs/aarch64_minimal_defconfig +++ b/configs/aarch64_minimal_defconfig @@ -27,7 +27,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y @@ -41,9 +41,6 @@ BR2_PACKAGE_DBUS_CXX=y BR2_PACKAGE_DBUS_GLIB=y BR2_PACKAGE_EUDEV_RULES_GEN=y # BR2_PACKAGE_EUDEV_ENABLE_HWDB is not set -BR2_PACKAGE_GPSD_DEVICES="/dev/gps0" -BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE=2 -BR2_PACKAGE_GPSD_MAX_DEV_VALUE=1 BR2_PACKAGE_GPTFDISK=y BR2_PACKAGE_GPTFDISK_SGDISK=y BR2_PACKAGE_MDIO_TOOLS=y @@ -126,7 +123,6 @@ INFIX_DESC="Infix is an immutable, friendly, and secure operating system that tu INFIX_HOME="https://github.com/kernelkit/infix/" INFIX_DOC="https://www.kernelkit.org/infix/" INFIX_SUPPORT="mailto:kernelkit@googlegroups.com" -BR2_PACKAGE_FEATURE_GPS=y BR2_PACKAGE_CONFD=y BR2_PACKAGE_NETD=y BR2_PACKAGE_CONFD_TEST_MODE=y diff --git a/configs/arm_defconfig b/configs/arm_defconfig index 081b46988..7606596f9 100644 --- a/configs/arm_defconfig +++ b/configs/arm_defconfig @@ -28,7 +28,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/arm/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y @@ -43,9 +43,6 @@ BR2_PACKAGE_DBUS_CXX=y BR2_PACKAGE_DBUS_GLIB=y BR2_PACKAGE_EUDEV_RULES_GEN=y # BR2_PACKAGE_EUDEV_ENABLE_HWDB is not set -BR2_PACKAGE_GPSD_DEVICES="/dev/gps0" -BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE=2 -BR2_PACKAGE_GPSD_MAX_DEV_VALUE=1 BR2_PACKAGE_GPTFDISK=y BR2_PACKAGE_GPTFDISK_SGDISK=y BR2_PACKAGE_MDIO_TOOLS=y diff --git a/configs/arm_minimal_defconfig b/configs/arm_minimal_defconfig index f57a0263c..aea8e1a1e 100644 --- a/configs/arm_minimal_defconfig +++ b/configs/arm_minimal_defconfig @@ -28,7 +28,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/arm/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y @@ -43,9 +43,6 @@ BR2_PACKAGE_DBUS_CXX=y BR2_PACKAGE_DBUS_GLIB=y BR2_PACKAGE_EUDEV_RULES_GEN=y # BR2_PACKAGE_EUDEV_ENABLE_HWDB is not set -BR2_PACKAGE_GPSD_DEVICES="/dev/gps0" -BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE=2 -BR2_PACKAGE_GPSD_MAX_DEV_VALUE=1 BR2_PACKAGE_GPTFDISK=y BR2_PACKAGE_GPTFDISK_SGDISK=y BR2_PACKAGE_MDIO_TOOLS=y @@ -126,7 +123,6 @@ INFIX_DESC="Infix is an immutable, friendly, and secure operating system that tu INFIX_HOME="https://github.com/kernelkit/infix/" INFIX_DOC="https://www.kernelkit.org/infix/" INFIX_SUPPORT="mailto:kernelkit@googlegroups.com" -BR2_PACKAGE_FEATURE_GPS=y BR2_PACKAGE_CONFD=y BR2_PACKAGE_NETD=y BR2_PACKAGE_CONFD_TEST_MODE=y diff --git a/configs/riscv64_defconfig b/configs/riscv64_defconfig index a7421e15f..bacf46a99 100644 --- a/configs/riscv64_defconfig +++ b/configs/riscv64_defconfig @@ -52,9 +52,6 @@ BR2_PACKAGE_DBUS_CXX=y BR2_PACKAGE_DBUS_GLIB=y BR2_PACKAGE_EUDEV_RULES_GEN=y # BR2_PACKAGE_EUDEV_ENABLE_HWDB is not set -BR2_PACKAGE_GPSD_DEVICES="/dev/gps0" -BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE=2 -BR2_PACKAGE_GPSD_MAX_DEV_VALUE=1 BR2_PACKAGE_GPTFDISK=y BR2_PACKAGE_GPTFDISK_SGDISK=y BR2_PACKAGE_MDIO_TOOLS=y diff --git a/configs/x86_64_defconfig b/configs/x86_64_defconfig index 8dbb20f72..8752a57dc 100644 --- a/configs/x86_64_defconfig +++ b/configs/x86_64_defconfig @@ -26,7 +26,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh ${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/x86_64/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y @@ -41,9 +41,6 @@ BR2_PACKAGE_DBUS_CXX=y BR2_PACKAGE_DBUS_GLIB=y BR2_PACKAGE_EUDEV_RULES_GEN=y # BR2_PACKAGE_EUDEV_ENABLE_HWDB is not set -BR2_PACKAGE_GPSD_DEVICES="/dev/gps0" -BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE=2 -BR2_PACKAGE_GPSD_MAX_DEV_VALUE=1 BR2_PACKAGE_GPTFDISK=y BR2_PACKAGE_GPTFDISK_SGDISK=y BR2_PACKAGE_RNG_TOOLS=y diff --git a/configs/x86_64_minimal_defconfig b/configs/x86_64_minimal_defconfig index 7d1d55f47..61260c880 100644 --- a/configs/x86_64_minimal_defconfig +++ b/configs/x86_64_minimal_defconfig @@ -26,7 +26,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh ${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/x86_64/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y @@ -41,9 +41,6 @@ BR2_PACKAGE_DBUS_CXX=y BR2_PACKAGE_DBUS_GLIB=y BR2_PACKAGE_EUDEV_RULES_GEN=y # BR2_PACKAGE_EUDEV_ENABLE_HWDB is not set -BR2_PACKAGE_GPSD_DEVICES="/dev/gps0" -BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE=2 -BR2_PACKAGE_GPSD_MAX_DEV_VALUE=1 BR2_PACKAGE_GPTFDISK=y BR2_PACKAGE_GPTFDISK_SGDISK=y BR2_PACKAGE_RNG_TOOLS=y @@ -125,7 +122,6 @@ INFIX_DESC="Infix is an immutable, friendly, and secure operating system that tu INFIX_HOME="https://github.com/kernelkit/infix/" INFIX_DOC="https://www.kernelkit.org/infix/" INFIX_SUPPORT="mailto:kernelkit@googlegroups.com" -BR2_PACKAGE_FEATURE_GPS=y BR2_PACKAGE_CONFD=y BR2_PACKAGE_NETD=y BR2_PACKAGE_CONFD_TEST_MODE=y diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index 1550faa19..8fd5df4e8 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -3,6 +3,24 @@ Change Log All notable changes to the project are documented in this file. +[v26.02.1][] - 2026-03-11 +------------------------- + +### Changes + +- Upgrade Linux kernel to 6.18.16 (LTS) +- Add support for disabling WiFi and GPS features in builds +- Add OSPF point-to-multipoint (P2MP) and hybrid interface type support. This + also includes support for setting static neighbors, issue #1426 + +### Fixes + +- Fix #1389: legacy name limit in firewalld triggered problems with policy names +- Fix #1416: `show firewall` command show an error when the firewall is disabled +- Fix instabilities in Zebra route manager after Frr upgrade in v26.02.0 +- Fix regression in MVEBU SafeXcel Crypto Engine for Marvell Armada SOCs (37xx, + 7k, 8k, and CN913x series). Firmware package lost in v26.01.0 + [v26.02.0][] - 2026-03-01 ------------------------- @@ -1932,6 +1950,7 @@ Supported YANG models in addition to those used by sysrepo and netopeer: [buildroot]: https://buildroot.org/ [UNRELEASED]: https://github.com/kernelkit/infix/compare/v26.02.0...HEAD +[v26.02.1]: https://github.com/kernelkit/infix/compare/v26.02.0...v26.02.1 [v26.02.0]: https://github.com/kernelkit/infix/compare/v26.01.0...v26.02.0 [v26.01.0]: https://github.com/kernelkit/infix/compare/v25.11.0...v26.01.0 [v25.11.0]: https://github.com/kernelkit/infix/compare/v25.10.0...v25.11.0 diff --git a/doc/routing.md b/doc/routing.md index 13573b454..e473ba854 100644 --- a/doc/routing.md +++ b/doc/routing.md @@ -131,6 +131,66 @@ an Ethernet interface can be done as follows. admin@example:/config/routing/…/ospf/area/0.0.0.0/interface/e0/> + +### Point-to-Multipoint + +Point-to-Multipoint (P2MP) is used when multiple OSPF routers share a +common network segment but should form individual adjacencies rather +than electing a Designated Router (DR). This is common in NBMA-like +environments, DMVPN, or hub-and-spoke topologies. + +Infix supports two P2MP variants via the `interface-type` setting: + +| **Interface Type** | **Behavior** | +|:----------------------|:-----------------------------------------------| +| `hybrid` | P2MP with multicast Hellos (broadcast-capable) | +| `point-to-multipoint` | P2MP with unicast Hellos (non-broadcast) | + +#### Hybrid (broadcast-capable P2MP) + +Use `hybrid` when all neighbors on the segment can receive multicast. +Hello packets are sent to the standard OSPF multicast address (224.0.0.5) +and neighbors are discovered automatically — no manual neighbor +configuration is needed. + +
admin@example:/config/> edit routing control-plane-protocol ospfv2 name default ospf
+admin@example:/config/routing/…/ospf/> set area 0.0.0.0 interface e0 interface-type hybrid
+admin@example:/config/routing/…/ospf/> leave
+admin@example:/>
+
+ +#### Non-broadcast P2MP + +Use `point-to-multipoint` when the network does not support multicast. +Hello packets are sent as unicast directly to each configured neighbor. +Since neighbors cannot be discovered automatically, they must be +configured explicitly using static neighbors (see below). + +
admin@example:/config/> edit routing control-plane-protocol ospfv2 name default ospf
+admin@example:/config/routing/…/ospf/> set area 0.0.0.0 interface e0 interface-type point-to-multipoint
+admin@example:/config/routing/…/ospf/> leave
+admin@example:/>
+
+ + +### Static Neighbors + +When using non-broadcast interface types (such as `point-to-multipoint`), +OSPF cannot discover neighbors via multicast. Static neighbors must be +configured so the router knows where to send unicast Hello packets. + +
admin@example:/config/> edit routing control-plane-protocol ospfv2 name default ospf
+admin@example:/config/routing/…/ospf/> set area 0.0.0.0 interface e0 static-neighbors neighbor 10.0.123.2
+admin@example:/config/routing/…/ospf/> set area 0.0.0.0 interface e0 static-neighbors neighbor 10.0.123.3
+admin@example:/config/routing/…/ospf/> leave
+admin@example:/>
+
+ +> [!NOTE] +> Static neighbors are only needed for non-broadcast interface types. +> With `hybrid` (or `broadcast`), neighbors are discovered automatically +> via multicast. + ### OSPF global settings In addition to *area* and *interface* specific settings, OSPF provides diff --git a/package/confd/confd.mk b/package/confd/confd.mk index 7cfb2347f..e01756ca6 100644 --- a/package/confd/confd.mk +++ b/package/confd/confd.mk @@ -30,6 +30,11 @@ CONFD_CONF_OPTS += --enable-wifi else CONFD_CONF_OPTS += --disable-wifi endif +ifeq ($(BR2_PACKAGE_FEATURE_GPS),y) +CONFD_CONF_OPTS += --enable-gps +else +CONFD_CONF_OPTS += --disable-gps +endif define CONFD_INSTALL_EXTRA for fn in confd.conf resolvconf.conf; do \ cp $(CONFD_PKGDIR)/$$fn $(FINIT_D)/available/; \ @@ -80,6 +85,12 @@ define CONFD_INSTALL_YANG_MODULES_WIFI $(BR2_EXTERNAL_INFIX_PATH)/utils/srload $(@D)/yang/wifi.inc endef endif +ifeq ($(BR2_PACKAGE_FEATURE_GPS),y) +define CONFD_INSTALL_YANG_MODULES_GPS + $(COMMON_SYSREPO_ENV) \ + $(BR2_EXTERNAL_INFIX_PATH)/utils/srload $(@D)/yang/gps.inc +endef +endif # PER_PACKAGE_DIR # Since the last package in the dependency chain that runs sysrepoctl is confd, we need to @@ -109,6 +120,7 @@ CONFD_POST_INSTALL_TARGET_HOOKS += CONFD_INSTALL_EXTRA CONFD_POST_INSTALL_TARGET_HOOKS += CONFD_INSTALL_YANG_MODULES CONFD_POST_INSTALL_TARGET_HOOKS += CONFD_INSTALL_YANG_MODULES_CONTAINERS CONFD_POST_INSTALL_TARGET_HOOKS += CONFD_INSTALL_YANG_MODULES_WIFI +CONFD_POST_INSTALL_TARGET_HOOKS += CONFD_INSTALL_YANG_MODULES_GPS CONFD_POST_INSTALL_TARGET_HOOKS += CONFD_INSTALL_IN_ROMFS CONFD_TARGET_FINALIZE_HOOKS += CONFD_CLEANUP diff --git a/package/skeleton-init-finit/skeleton/etc/default/zebra b/package/skeleton-init-finit/skeleton/etc/default/zebra index 4467b9af2..13d5e53a2 100644 --- a/package/skeleton-init-finit/skeleton/etc/default/zebra +++ b/package/skeleton-init-finit/skeleton/etc/default/zebra @@ -1,2 +1,2 @@ # --log-level debug -ZEBRA_ARGS="-A 127.0.0.1 -u frr -g frr --log syslog --log-level err" +ZEBRA_ARGS="-A 127.0.0.1 -a -s 90000000 -u frr -g frr --log syslog --log-level err" diff --git a/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/mgmtd.conf b/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/mgmtd.conf index 825aff9cc..fbf2c0861 100644 --- a/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/mgmtd.conf +++ b/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/mgmtd.conf @@ -1,2 +1,3 @@ service pid:!/run/frr/mgmtd.pid env:-/etc/default/mgmtd \ - [2345] mgmtd $MGMTD_ARGS -- FRR MGMT daemon + [2345] mgmtd $MGMTD_ARGS \ + -- FRR MGMT daemon diff --git a/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/ospfd.conf b/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/ospfd.conf index e4652ff1f..20b523396 100644 --- a/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/ospfd.conf +++ b/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/ospfd.conf @@ -1,2 +1,3 @@ -service env:-/etc/default/ospfd \ - [2345] ospfd $OSPFD_ARGS -- OSPF daemon +service pid:!/run/frr/ospfd.pid env:-/etc/default/ospfd \ + [2345] ospfd $OSPFD_ARGS \ + -- OSPF daemon diff --git a/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/ripd.conf b/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/ripd.conf index bb311b582..8a8f93308 100644 --- a/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/ripd.conf +++ b/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/ripd.conf @@ -1,3 +1,3 @@ -service env:-/etc/default/ripd \ - [2345] ripd $RIPD_ARGS +service pid:!/run/frr/ripd.pid env:-/etc/default/ripd \ + [2345] ripd $RIPD_ARGS \ -- RIP daemon diff --git a/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/zebra.conf b/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/zebra.conf index dce1abcac..30b4a1668 100644 --- a/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/zebra.conf +++ b/package/skeleton-init-finit/skeleton/etc/finit.d/available/frr/zebra.conf @@ -1,3 +1,3 @@ -service pid:!/run/frr/zebra.pid env:-/etc/default/zebra \ - [2345] zebra $ZEBRA_ARGS +service pid:!/run/frr/zebra.pid env:-/etc/default/zebra \ + [2345] zebra $ZEBRA_ARGS \ -- Zebra routing daemon diff --git a/board/common/rootfs/etc/frr/daemons b/package/skeleton-init-finit/skeleton/etc/frr/daemons similarity index 72% rename from board/common/rootfs/etc/frr/daemons rename to package/skeleton-init-finit/skeleton/etc/frr/daemons index 2094cd758..b8eb48357 100644 --- a/board/common/rootfs/etc/frr/daemons +++ b/package/skeleton-init-finit/skeleton/etc/frr/daemons @@ -1,5 +1,4 @@ -# Default FRR daemons file for Infix - confd overwrites on routing changes. -# watchfrr, zebra, mgmtd, and staticd are always started by frrinit.sh. +# Default FRR daemons file used with watchfrr, started by frrinit.sh. ospfd=no ripd=no bfdd=no @@ -25,4 +24,3 @@ staticd_options="-A 127.0.0.1" bfdd_options=" -A 127.0.0.1" frr_profile="traditional" - diff --git a/board/common/rootfs/etc/frr/frr.conf b/package/skeleton-init-finit/skeleton/etc/frr/frr.conf similarity index 100% rename from board/common/rootfs/etc/frr/frr.conf rename to package/skeleton-init-finit/skeleton/etc/frr/frr.conf diff --git a/package/skeleton-init-finit/skeleton/etc/frr/mgmtd.conf b/package/skeleton-init-finit/skeleton/etc/frr/mgmtd.conf new file mode 100644 index 000000000..12ab41186 --- /dev/null +++ b/package/skeleton-init-finit/skeleton/etc/frr/mgmtd.conf @@ -0,0 +1 @@ +! Empty stub — mgmtd reads its own config at startup; file must exist to avoid log noise. diff --git a/package/skeleton-init-finit/skeleton/etc/frr/ripd.conf b/package/skeleton-init-finit/skeleton/etc/frr/ripd.conf new file mode 100644 index 000000000..0adacf4f9 --- /dev/null +++ b/package/skeleton-init-finit/skeleton/etc/frr/ripd.conf @@ -0,0 +1 @@ +! Empty stub — mgmtd reads per-daemon configs at startup; file must exist to avoid log noise. diff --git a/package/skeleton-init-finit/skeleton/etc/frr/ripngd.conf b/package/skeleton-init-finit/skeleton/etc/frr/ripngd.conf new file mode 100644 index 000000000..0adacf4f9 --- /dev/null +++ b/package/skeleton-init-finit/skeleton/etc/frr/ripngd.conf @@ -0,0 +1 @@ +! Empty stub — mgmtd reads per-daemon configs at startup; file must exist to avoid log noise. diff --git a/package/skeleton-init-finit/skeleton/etc/frr/staticd.conf b/package/skeleton-init-finit/skeleton/etc/frr/staticd.conf new file mode 100644 index 000000000..0adacf4f9 --- /dev/null +++ b/package/skeleton-init-finit/skeleton/etc/frr/staticd.conf @@ -0,0 +1 @@ +! Empty stub — mgmtd reads per-daemon configs at startup; file must exist to avoid log noise. diff --git a/package/skeleton-init-finit/skeleton/etc/frr/zebra.conf b/package/skeleton-init-finit/skeleton/etc/frr/zebra.conf new file mode 100644 index 000000000..0adacf4f9 --- /dev/null +++ b/package/skeleton-init-finit/skeleton/etc/frr/zebra.conf @@ -0,0 +1 @@ +! Empty stub — mgmtd reads per-daemon configs at startup; file must exist to avoid log noise. diff --git a/patches/firewalld/2.3.1/0001-Silence-warnings-about-old-backends.patch b/patches/firewalld/2.3.1/0001-Silence-warnings-about-old-backends.patch index 6bc17856f..eed16ba64 100644 --- a/patches/firewalld/2.3.1/0001-Silence-warnings-about-old-backends.patch +++ b/patches/firewalld/2.3.1/0001-Silence-warnings-about-old-backends.patch @@ -1,7 +1,7 @@ From 03f273fc540082d1eaa23bd9b5847e695afd8283 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 25 Sep 2025 15:00:54 +0200 -Subject: [PATCH] Silence warnings about old backends +Subject: [PATCH 1/2] Silence warnings about old backends Organization: Wires Signed-off-by: Joachim Wiberg diff --git a/patches/firewalld/2.3.1/0002-fix-functions-lift-iptables-name-length-limit-when-u.patch b/patches/firewalld/2.3.1/0002-fix-functions-lift-iptables-name-length-limit-when-u.patch new file mode 100644 index 000000000..da603bd25 --- /dev/null +++ b/patches/firewalld/2.3.1/0002-fix-functions-lift-iptables-name-length-limit-when-u.patch @@ -0,0 +1,95 @@ +From 6ab218fe7f2c7027cc5347e3b082285870c502e6 Mon Sep 17 00:00:00 2001 +From: Joachim Wiberg +Date: Fri, 6 Mar 2026 07:44:38 +0100 +Subject: [PATCH 2/2] fix(functions): lift iptables name length limit when + using nftables +Organization: Wires + +The max_zone_name_len() and max_policy_name_len() functions return 17 +and 18 respectively, derived from iptables' 28-char netfilter chain name +limit. These limits are applied unconditionally in Zone.check_name() +and Policy.check_name() regardless of the active backend. + +When FirewallBackend=nftables nftables imposes no such restriction, so +user-defined zone and policy names (e.g. "appletv-to-lan-guest", 20 +chars) that exceed the iptables-derived limit are incorrectly rejected. + +Add _nftables_backend() which reads firewalld.conf directly so the check +can be skipped without threading backend context through to check_name() +call sites, which have no access to all_io_objects. When nftables is +active, both functions return sys.maxsize, effectively disabling the +length check. + +Signed-off-by: Joachim Wiberg +--- + src/firewall/functions.py | 31 ++++++++++++++++++++++++++++++- + 1 file changed, 30 insertions(+), 1 deletion(-) + +diff --git a/src/firewall/functions.py b/src/firewall/functions.py +index 27c862fd..1b8a32ce 100644 +--- a/src/firewall/functions.py ++++ b/src/firewall/functions.py +@@ -10,9 +10,10 @@ import os + import os.path + import shlex + import string ++import sys + import tempfile + from firewall.core.logger import log +-from firewall.config import FIREWALLD_TEMPDIR, FIREWALLD_PIDFILE ++from firewall.config import FIREWALLD_CONF, FIREWALLD_TEMPDIR, FIREWALLD_PIDFILE + + NOPRINT_TRANS_TABLE = { + # Limit to C0 and C1 code points. Building entries for all unicode code +@@ -576,12 +577,35 @@ def ppid_of_pid(pid): + return pid + + ++def _nftables_backend(): ++ """Return True if FirewallBackend=nftables is configured in firewalld.conf. ++ ++ When using nftables the iptables-derived 28-char chain name limit does not ++ apply. Reading the config file directly avoids threading backend context ++ through check_name() call sites, which have no access to all_io_objects. ++ """ ++ try: ++ with open(FIREWALLD_CONF) as f: ++ for line in f: ++ line = line.strip() ++ if line.startswith("FirewallBackend="): ++ return line.split("=", 1)[1].strip() == "nftables" ++ except OSError: ++ pass ++ return False ++ ++ + def max_policy_name_len(): + """ + iptables limits length of chain to (currently) 28 chars. + The longest chain we create is POST__allow, + which leaves 28 - 11 = 17 chars for . ++ ++ When using the nftables backend, nftables imposes no practical name length ++ restriction, so we return sys.maxsize to lift the check entirely. + """ ++ if _nftables_backend(): ++ return sys.maxsize + from firewall.core.ipXtables import POLICY_CHAIN_PREFIX + from firewall.core.base import SHORTCUTS + +@@ -594,7 +618,12 @@ def max_zone_name_len(): + Netfilter limits length of chain to (currently) 28 chars. + The longest chain we create is POST__allow, + which leaves 28 - 11 = 17 chars for . ++ ++ When using the nftables backend, nftables imposes no practical name length ++ restriction, so we return sys.maxsize to lift the check entirely. + """ ++ if _nftables_backend(): ++ return sys.maxsize + from firewall.core.base import SHORTCUTS + + longest_shortcut = max(map(len, SHORTCUTS.values())) +-- +2.43.0 + diff --git a/patches/linux/6.18.15/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch b/patches/linux/6.18.16/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch similarity index 98% rename from patches/linux/6.18.15/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch rename to patches/linux/6.18.16/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch index 8dfe21c66..7b836239e 100644 --- a/patches/linux/6.18.15/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch +++ b/patches/linux/6.18.16/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch @@ -1,4 +1,4 @@ -From 443245154df3a713a61feffa5043da4c200b30fa Mon Sep 17 00:00:00 2001 +From 2ca55761d22dbc39d26862cf94577cf44f4b85a0 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 19 Sep 2023 18:38:10 +0200 Subject: [PATCH 01/33] net: phy: marvell10g: Support firmware loading on diff --git a/patches/linux/6.18.15/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch b/patches/linux/6.18.16/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch similarity index 96% rename from patches/linux/6.18.15/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch rename to patches/linux/6.18.16/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch index f2f91cafd..0f9915a35 100644 --- a/patches/linux/6.18.15/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch +++ b/patches/linux/6.18.16/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch @@ -1,4 +1,4 @@ -From a81a31111af41ce03bfd0a6bf493a440195c0aa8 Mon Sep 17 00:00:00 2001 +From 554729f2a8c83f617663c097cc389b5c791db8aa Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 21 Nov 2023 20:15:24 +0100 Subject: [PATCH 02/33] net: phy: marvell10g: Fix power-up when strapped to diff --git a/patches/linux/6.18.15/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch b/patches/linux/6.18.16/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch similarity index 99% rename from patches/linux/6.18.15/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch rename to patches/linux/6.18.16/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch index 7493aa742..a4643e034 100644 --- a/patches/linux/6.18.15/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch +++ b/patches/linux/6.18.16/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch @@ -1,4 +1,4 @@ -From 05bbe3556f357ba52eb12aef54831c2a7270f4fe Mon Sep 17 00:00:00 2001 +From 7090bf6cbf332d9a38e04a58b026d2d00701ca67 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 15 Nov 2023 20:58:42 +0100 Subject: [PATCH 03/33] net: phy: marvell10g: Add LED support for 88X3310 diff --git a/patches/linux/6.18.15/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch b/patches/linux/6.18.16/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch similarity index 97% rename from patches/linux/6.18.15/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch rename to patches/linux/6.18.16/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch index 8c8ef4031..3ce7a50bc 100644 --- a/patches/linux/6.18.15/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch +++ b/patches/linux/6.18.16/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch @@ -1,4 +1,4 @@ -From e4d030d502f358a4ed21eb75e2c3cffbe5c2b8da Mon Sep 17 00:00:00 2001 +From 7776e8acf62062136892b9623c24898c09778e48 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Dec 2023 09:51:05 +0100 Subject: [PATCH 04/33] net: phy: marvell10g: Support LEDs tied to a single diff --git a/patches/linux/6.18.15/0005-net-phy-Do-not-resume-PHY-when-attaching.patch b/patches/linux/6.18.16/0005-net-phy-Do-not-resume-PHY-when-attaching.patch similarity index 94% rename from patches/linux/6.18.15/0005-net-phy-Do-not-resume-PHY-when-attaching.patch rename to patches/linux/6.18.16/0005-net-phy-Do-not-resume-PHY-when-attaching.patch index 12ca23ef9..95823f841 100644 --- a/patches/linux/6.18.15/0005-net-phy-Do-not-resume-PHY-when-attaching.patch +++ b/patches/linux/6.18.16/0005-net-phy-Do-not-resume-PHY-when-attaching.patch @@ -1,4 +1,4 @@ -From 44c1b964008099707a86150597f07fb9afa2d4ab Mon Sep 17 00:00:00 2001 +From 96ce164208881c981e9e8b1231e2b45957a89b5e Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 10:10:19 +0100 Subject: [PATCH 05/33] net: phy: Do not resume PHY when attaching diff --git a/patches/linux/6.18.15/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch b/patches/linux/6.18.16/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch similarity index 99% rename from patches/linux/6.18.15/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch rename to patches/linux/6.18.16/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch index c5c170558..035094869 100644 --- a/patches/linux/6.18.15/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch +++ b/patches/linux/6.18.16/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch @@ -1,4 +1,4 @@ -From a0ed79ec338c0a1ec647ecffe5de532bc93ae34e Mon Sep 17 00:00:00 2001 +From 74ce9cb9a4845537644a67769ee9f441bf9d3a78 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 4 Mar 2024 16:47:28 +0100 Subject: [PATCH 06/33] net: bridge: avoid classifying unknown multicast as diff --git a/patches/linux/6.18.15/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch b/patches/linux/6.18.16/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch similarity index 95% rename from patches/linux/6.18.15/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch rename to patches/linux/6.18.16/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch index 841c111ed..4f7805326 100644 --- a/patches/linux/6.18.15/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch +++ b/patches/linux/6.18.16/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch @@ -1,4 +1,4 @@ -From 1d7a80c8f0a1f1fdb9feededbe6a81ef95ea235f Mon Sep 17 00:00:00 2001 +From e7b3717762434f780616a0b641169f5cfa1a2398 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 5 Mar 2024 06:44:41 +0100 Subject: [PATCH 07/33] net: bridge: Ignore router ports when forwarding L2 diff --git a/patches/linux/6.18.15/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch b/patches/linux/6.18.16/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch similarity index 99% rename from patches/linux/6.18.15/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch rename to patches/linux/6.18.16/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch index 3f45051a8..d9fdbf97b 100644 --- a/patches/linux/6.18.15/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch +++ b/patches/linux/6.18.16/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch @@ -1,4 +1,4 @@ -From 7d5b408393f724aa3fb9109d0373270bff5912a4 Mon Sep 17 00:00:00 2001 +From fabc6f846e244fd2b67d26155d644238505b949b Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 4 Apr 2024 16:36:30 +0200 Subject: [PATCH 08/33] net: bridge: drop delay for applying strict multicast diff --git a/patches/linux/6.18.15/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch b/patches/linux/6.18.16/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch similarity index 98% rename from patches/linux/6.18.15/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch rename to patches/linux/6.18.16/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch index c0bfa74b9..f59fd202b 100644 --- a/patches/linux/6.18.15/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch +++ b/patches/linux/6.18.16/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch @@ -1,4 +1,4 @@ -From fcb5ec6195e9201d547148f23115305d012258e1 Mon Sep 17 00:00:00 2001 +From 4ee3858a7d7f02746187d8bbc6011038747cab35 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 16 May 2024 14:51:54 +0200 Subject: [PATCH 09/33] net: bridge: Differentiate MDB additions from diff --git a/patches/linux/6.18.15/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch b/patches/linux/6.18.16/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch similarity index 96% rename from patches/linux/6.18.15/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch rename to patches/linux/6.18.16/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch index 152dba20c..4db443b9e 100644 --- a/patches/linux/6.18.15/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch +++ b/patches/linux/6.18.16/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch @@ -1,4 +1,4 @@ -From ea7944d9e73280180e6e80e7de5e1a20e308ecab Mon Sep 17 00:00:00 2001 +From 319ed7a2257bd18b5b0d23c9f24af9fd127b7667 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 24 Nov 2023 23:29:55 +0100 Subject: [PATCH 10/33] nvmem: layouts: onie-tlv: Let device probe even when diff --git a/patches/linux/6.18.15/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch b/patches/linux/6.18.16/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch similarity index 88% rename from patches/linux/6.18.15/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch rename to patches/linux/6.18.16/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch index e65f4973a..351750e26 100644 --- a/patches/linux/6.18.15/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch +++ b/patches/linux/6.18.16/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch @@ -1,4 +1,4 @@ -From 6d8bdf087b6b5f4a1a714858fcf9c548afee0041 Mon Sep 17 00:00:00 2001 +From 0ee33120c15d36ea49121936acb0b9cb860e0f5f Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 11 Aug 2024 11:27:35 +0200 Subject: [PATCH 11/33] net: usb: r8152: add r8153b support for link/activity @@ -18,7 +18,7 @@ Signed-off-by: Joachim Wiberg 1 file changed, 8 insertions(+) diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c -index 6a43054d5171..ef8bcb4a7339 100644 +index da8de7b1a489..36d79a77316c 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -41,6 +41,11 @@ @@ -33,7 +33,7 @@ index 6a43054d5171..ef8bcb4a7339 100644 #define R8152_PHY_ID 32 #define PLA_IDR 0xc000 -@@ -7277,6 +7282,9 @@ static void r8153b_init(struct r8152 *tp) +@@ -7279,6 +7284,9 @@ static void r8153b_init(struct r8152 *tp) ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); diff --git a/patches/linux/6.18.15/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch b/patches/linux/6.18.16/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch similarity index 96% rename from patches/linux/6.18.15/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch rename to patches/linux/6.18.16/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch index 564dbccc3..85b7d4cbe 100644 --- a/patches/linux/6.18.15/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch +++ b/patches/linux/6.18.16/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch @@ -1,4 +1,4 @@ -From e6250ce25bc96c91c74ad8bdea6132087bc3c8d3 Mon Sep 17 00:00:00 2001 +From cf134950928be5c5955cc70c69e273a316bac69f Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 10 Aug 2025 18:52:54 +0200 Subject: [PATCH 12/33] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to diff --git a/patches/linux/6.18.15/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch b/patches/linux/6.18.16/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch similarity index 98% rename from patches/linux/6.18.15/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch rename to patches/linux/6.18.16/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch index 7cc394aea..59bf674d8 100644 --- a/patches/linux/6.18.15/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch +++ b/patches/linux/6.18.16/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch @@ -1,4 +1,4 @@ -From dcafe00d03f102ce48cb9068c884009e753b53bf Mon Sep 17 00:00:00 2001 +From 799998c00feee44d4c74556022904ba7a0bdfac8 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 20 Aug 2025 21:38:24 +0200 Subject: [PATCH 13/33] drm/panel-simple: Add a timing for the Raspberry Pi 7" diff --git a/patches/linux/6.18.15/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch b/patches/linux/6.18.16/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch similarity index 98% rename from patches/linux/6.18.15/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch rename to patches/linux/6.18.16/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch index 046eb8e4f..d09bfba81 100644 --- a/patches/linux/6.18.15/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch +++ b/patches/linux/6.18.16/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch @@ -1,4 +1,4 @@ -From 38d942ffce63ee1fa9beecf6bac3d7b30e87c87a Mon Sep 17 00:00:00 2001 +From f01bf9ba38f75e3ef290cdd2a22df025768dd8b8 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Thu, 21 Aug 2025 11:20:23 +0200 Subject: [PATCH 14/33] input:touchscreen:edt-ft5x06: Add polled mode diff --git a/patches/linux/6.18.15/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch b/patches/linux/6.18.16/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch similarity index 94% rename from patches/linux/6.18.15/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch rename to patches/linux/6.18.16/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch index 0270acbd9..4ec8f603c 100644 --- a/patches/linux/6.18.15/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch +++ b/patches/linux/6.18.16/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch @@ -1,4 +1,4 @@ -From 60cd0f84c208ab9bc53ad070e81bb0173e356889 Mon Sep 17 00:00:00 2001 +From dd7bb94f604192615f1f73a362fb0e2471ff8e1b Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Mar 2024 10:27:24 +0100 Subject: [PATCH 15/33] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for diff --git a/patches/linux/6.18.15/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch b/patches/linux/6.18.16/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch similarity index 99% rename from patches/linux/6.18.15/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch rename to patches/linux/6.18.16/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch index 35192e522..0d11d73e5 100644 --- a/patches/linux/6.18.15/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch +++ b/patches/linux/6.18.16/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch @@ -1,4 +1,4 @@ -From de9af4997489a4f2a4110412b418bb7a317664fe Mon Sep 17 00:00:00 2001 +From 5dbb37d98861fab5cdf35947406133b494850d07 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 15:52:43 +0100 Subject: [PATCH 16/33] net: dsa: mv88e6xxx: Improve indirect register access diff --git a/patches/linux/6.18.15/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch b/patches/linux/6.18.16/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch similarity index 95% rename from patches/linux/6.18.15/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch rename to patches/linux/6.18.16/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch index 3e2331f69..28744f928 100644 --- a/patches/linux/6.18.15/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch +++ b/patches/linux/6.18.16/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch @@ -1,4 +1,4 @@ -From 94db20c708ac578007ef56ebd6a4321f45ca2ba7 Mon Sep 17 00:00:00 2001 +From ef510ee5006cb4d34bbf53edc2c5d82cee557a56 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Mon, 22 Apr 2024 23:18:01 +0200 Subject: [PATCH 17/33] net: dsa: mv88e6xxx: Honor ports being managed via diff --git a/patches/linux/6.18.15/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch b/patches/linux/6.18.16/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch similarity index 98% rename from patches/linux/6.18.15/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch rename to patches/linux/6.18.16/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch index a0c7646aa..1bc1a45cb 100644 --- a/patches/linux/6.18.15/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch +++ b/patches/linux/6.18.16/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch @@ -1,4 +1,4 @@ -From a52c2c0be135f32dac53410a6f67226ecb59da58 Mon Sep 17 00:00:00 2001 +From cb18e0e47ef6696d7e2949af53c6f224ff112160 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 24 Apr 2024 22:41:04 +0200 Subject: [PATCH 18/33] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user diff --git a/patches/linux/6.18.15/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch b/patches/linux/6.18.16/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch similarity index 95% rename from patches/linux/6.18.15/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch rename to patches/linux/6.18.16/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch index 132e71642..f21286056 100644 --- a/patches/linux/6.18.15/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch +++ b/patches/linux/6.18.16/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch @@ -1,4 +1,4 @@ -From 668ba9f49cd17cb27145fbe579931b9ddf74ea88 Mon Sep 17 00:00:00 2001 +From 68e1ad6de79b30163ee9c610174e704db44f9c29 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 10:38:42 +0200 Subject: [PATCH 19/33] net: dsa: tag_dsa: Use tag priority as initial diff --git a/patches/linux/6.18.15/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch b/patches/linux/6.18.16/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch similarity index 97% rename from patches/linux/6.18.15/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch rename to patches/linux/6.18.16/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch index 86cf43994..00cdc23ea 100644 --- a/patches/linux/6.18.15/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch +++ b/patches/linux/6.18.16/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch @@ -1,4 +1,4 @@ -From 79450dc7dd78cb3d1e3798180151e4927f3d862f Mon Sep 17 00:00:00 2001 +From 973d7b6c0928d41ed86702c4b7e9d140c7acb443 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 16 Jan 2024 16:00:55 +0100 Subject: [PATCH 20/33] net: dsa: Support MDB memberships whose L2 addresses diff --git a/patches/linux/6.18.15/0021-net-dsa-Support-EtherType-based-priority-overrides.patch b/patches/linux/6.18.16/0021-net-dsa-Support-EtherType-based-priority-overrides.patch similarity index 98% rename from patches/linux/6.18.15/0021-net-dsa-Support-EtherType-based-priority-overrides.patch rename to patches/linux/6.18.16/0021-net-dsa-Support-EtherType-based-priority-overrides.patch index 044eab5ed..db431a7c6 100644 --- a/patches/linux/6.18.15/0021-net-dsa-Support-EtherType-based-priority-overrides.patch +++ b/patches/linux/6.18.16/0021-net-dsa-Support-EtherType-based-priority-overrides.patch @@ -1,4 +1,4 @@ -From 7d282dfc8044ad74aa190203efdc350bf9ab8c97 Mon Sep 17 00:00:00 2001 +From f23311c2898a40e0f330c3d21907d2d14ab66b85 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 21 Mar 2024 19:12:15 +0100 Subject: [PATCH 21/33] net: dsa: Support EtherType based priority overrides diff --git a/patches/linux/6.18.15/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch b/patches/linux/6.18.16/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch similarity index 99% rename from patches/linux/6.18.15/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch rename to patches/linux/6.18.16/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch index ce5f87016..bba20e064 100644 --- a/patches/linux/6.18.15/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch +++ b/patches/linux/6.18.16/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch @@ -1,4 +1,4 @@ -From 2b0679aa4727f71f3858291002c3abb5eade7ca7 Mon Sep 17 00:00:00 2001 +From 02a6215df9d126dbe0079eab7b4b95a49be072fe Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 22 Mar 2024 16:15:43 +0100 Subject: [PATCH 22/33] net: dsa: mv88e6xxx: Support EtherType based priority diff --git a/patches/linux/6.18.15/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch b/patches/linux/6.18.16/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch similarity index 98% rename from patches/linux/6.18.15/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch rename to patches/linux/6.18.16/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch index 33f9ec608..28202fda4 100644 --- a/patches/linux/6.18.15/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch +++ b/patches/linux/6.18.16/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch @@ -1,4 +1,4 @@ -From 7f6fd96a6b80c541b0fba0e5cc9de10aa0801eb0 Mon Sep 17 00:00:00 2001 +From 8de2cab0aef8e63e6f95d49ccf50aac05e3834d1 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 11:04:22 +0200 Subject: [PATCH 23/33] net: dsa: mv88e6xxx: Add mqprio qdisc support diff --git a/patches/linux/6.18.15/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch b/patches/linux/6.18.16/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch similarity index 97% rename from patches/linux/6.18.15/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch rename to patches/linux/6.18.16/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch index 60e9a8fbe..0c52a1edf 100644 --- a/patches/linux/6.18.15/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch +++ b/patches/linux/6.18.16/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch @@ -1,4 +1,4 @@ -From 54a42d398869bf484d31a499af28ba95ce75c412 Mon Sep 17 00:00:00 2001 +From 0de73e629b8fabb852a239a67e91954d15326c1b Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 29 May 2024 13:20:41 +0200 Subject: [PATCH 24/33] net: dsa: mv88e6xxx: Use VLAN prio over IP when both diff --git a/patches/linux/6.18.15/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch b/patches/linux/6.18.16/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch similarity index 98% rename from patches/linux/6.18.15/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch rename to patches/linux/6.18.16/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch index 4e71ba23d..c294ea7bc 100644 --- a/patches/linux/6.18.15/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch +++ b/patches/linux/6.18.16/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch @@ -1,4 +1,4 @@ -From dbc7e27badea74027b2742fe768db95e48edc4d7 Mon Sep 17 00:00:00 2001 +From 3caaed0cca0c4ca5719b0434a30aa8dec77ef717 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 26 Nov 2024 19:45:59 +0100 Subject: [PATCH 25/33] [FIX] net: dsa: mv88e6xxx: Trap locally terminated diff --git a/patches/linux/6.18.15/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch b/patches/linux/6.18.16/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch similarity index 95% rename from patches/linux/6.18.15/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch rename to patches/linux/6.18.16/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch index 462bb5acd..f078c5cfe 100644 --- a/patches/linux/6.18.15/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch +++ b/patches/linux/6.18.16/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch @@ -1,4 +1,4 @@ -From 6ffe3f8912a00fd32f5607c9aa25b7ed8b408a47 Mon Sep 17 00:00:00 2001 +From bd10307b97efc72d331b5fdf56721954e834df48 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 16 Jan 2025 12:35:12 +0100 Subject: [PATCH 26/33] net: dsa: mv88e6xxx: collapse disabled state into diff --git a/patches/linux/6.18.15/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch b/patches/linux/6.18.16/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch similarity index 98% rename from patches/linux/6.18.15/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch rename to patches/linux/6.18.16/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch index fe6e66f0b..4b929c55b 100644 --- a/patches/linux/6.18.15/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch +++ b/patches/linux/6.18.16/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch @@ -1,4 +1,4 @@ -From 6a87d9cd29e08b0b322233d35621d90470a974e6 Mon Sep 17 00:00:00 2001 +From 85b575912a77253cc45a8a50d75999b34ab8aa43 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 12 Feb 2025 22:03:14 +0100 Subject: [PATCH 27/33] net: dsa: mv88e6xxx: Only activate LAG offloading when diff --git a/patches/linux/6.18.15/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch b/patches/linux/6.18.16/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch similarity index 99% rename from patches/linux/6.18.15/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch rename to patches/linux/6.18.16/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch index c1707d4f9..4542ab3ed 100644 --- a/patches/linux/6.18.15/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch +++ b/patches/linux/6.18.16/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch @@ -1,4 +1,4 @@ -From d98d5f87b9f5202c55864da0f8a6e9b63a123d2e Mon Sep 17 00:00:00 2001 +From 971b21f938d66b6c6f1f5d54b20c4d732e5cf3d6 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 14 Jan 2026 18:22:41 +0100 Subject: [PATCH 28/33] net: dsa: mv88e6xxx: Add LED support for 6393X diff --git a/patches/linux/6.18.15/0029-wifi-brcmfmac-support-deletion-and-recreation-of-pri.patch b/patches/linux/6.18.16/0029-wifi-brcmfmac-support-deletion-and-recreation-of-pri.patch similarity index 99% rename from patches/linux/6.18.15/0029-wifi-brcmfmac-support-deletion-and-recreation-of-pri.patch rename to patches/linux/6.18.16/0029-wifi-brcmfmac-support-deletion-and-recreation-of-pri.patch index 4fba220e1..f6b4b603a 100644 --- a/patches/linux/6.18.15/0029-wifi-brcmfmac-support-deletion-and-recreation-of-pri.patch +++ b/patches/linux/6.18.16/0029-wifi-brcmfmac-support-deletion-and-recreation-of-pri.patch @@ -1,4 +1,4 @@ -From f844b2470f23814f3d98c22fc1958958155f2370 Mon Sep 17 00:00:00 2001 +From 86a58b0b4b1d60d40a80f058e4f09c87da4093b4 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Thu, 15 Jan 2026 22:47:37 +0100 Subject: [PATCH 29/33] wifi: brcmfmac: support deletion and recreation of diff --git a/patches/linux/6.18.15/0030-wifi-brcmfmac-check-connection-state-before-querying.patch b/patches/linux/6.18.16/0030-wifi-brcmfmac-check-connection-state-before-querying.patch similarity index 96% rename from patches/linux/6.18.15/0030-wifi-brcmfmac-check-connection-state-before-querying.patch rename to patches/linux/6.18.16/0030-wifi-brcmfmac-check-connection-state-before-querying.patch index 084ff7ccc..b0b06789f 100644 --- a/patches/linux/6.18.15/0030-wifi-brcmfmac-check-connection-state-before-querying.patch +++ b/patches/linux/6.18.16/0030-wifi-brcmfmac-check-connection-state-before-querying.patch @@ -1,4 +1,4 @@ -From 58dcf72c338bd0248dad8105a4169be926d19be2 Mon Sep 17 00:00:00 2001 +From 924750050148d937cf62e94f4a706a0be6f5ed02 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Mon, 19 Jan 2026 13:06:53 +0100 Subject: [PATCH 30/33] wifi: brcmfmac: check connection state before querying diff --git a/patches/linux/6.18.15/0031-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch b/patches/linux/6.18.16/0031-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch similarity index 96% rename from patches/linux/6.18.15/0031-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch rename to patches/linux/6.18.16/0031-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch index 3814072e7..d745922cc 100644 --- a/patches/linux/6.18.15/0031-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch +++ b/patches/linux/6.18.16/0031-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch @@ -1,4 +1,4 @@ -From b408ba43a37bb71f8ea2b83c7f4a4ba0b806f2c7 Mon Sep 17 00:00:00 2001 +From 17a580919c5be64b94ccc9e11d0c52b990053485 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 20 Jan 2026 20:12:10 +0100 Subject: [PATCH 31/33] wifi: brcmfmac: suppress log spam for diff --git a/patches/linux/6.18.15/0032-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch b/patches/linux/6.18.16/0032-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch similarity index 97% rename from patches/linux/6.18.15/0032-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch rename to patches/linux/6.18.16/0032-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch index 8639096a0..f42718c42 100644 --- a/patches/linux/6.18.15/0032-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch +++ b/patches/linux/6.18.16/0032-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch @@ -1,4 +1,4 @@ -From 2558ffc3abdbbc38a367d6a83c9133e39238339f Mon Sep 17 00:00:00 2001 +From 544345cb92b080c77a62eadccb92d07190bac7d1 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 20 Jan 2026 20:18:45 +0100 Subject: [PATCH 32/33] wifi: brcmfmac: reduce log noise during AP to station diff --git a/patches/linux/6.18.15/0033-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch b/patches/linux/6.18.16/0033-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch similarity index 95% rename from patches/linux/6.18.15/0033-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch rename to patches/linux/6.18.16/0033-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch index c5be0160f..f065dd662 100644 --- a/patches/linux/6.18.15/0033-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch +++ b/patches/linux/6.18.16/0033-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch @@ -1,4 +1,4 @@ -From fdfab37c4e5c375c204c797f77f91ee6edcbe983 Mon Sep 17 00:00:00 2001 +From 5a1dbf99922519d4c36b93c16128c4419da35f30 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 17 Feb 2026 21:59:59 +0100 Subject: [PATCH 33/33] net: phy: air_en8811h: add OF device table for diff --git a/patches/linux/linux.hash b/patches/linux/linux.hash index 921ca5fb5..a6bde010a 100644 --- a/patches/linux/linux.hash +++ b/patches/linux/linux.hash @@ -1,2 +1,2 @@ # Calculated with utils/kernel-refresh.sh -sha256 7c716216c3c4134ed0de69195701e677577bbcdd3979f331c182acd06bf2f170 linux-6.18.15.tar.xz +sha256 4f21c01f4d04c1d1b3ed794153f8900802c92497be620b07c4869530f2d28ee3 linux-6.18.16.tar.xz diff --git a/src/confd/configure.ac b/src/confd/configure.ac index 6266615be..f8071c2c3 100644 --- a/src/confd/configure.ac +++ b/src/confd/configure.ac @@ -46,6 +46,10 @@ AC_ARG_ENABLE(wifi, AS_HELP_STRING([--enable-wifi], [Enable support for Wi-Fi]),,[ enable_wifi=no]) +AC_ARG_ENABLE(gps, + AS_HELP_STRING([--enable-gps], [Enable support for GPS receivers]),,[ + enable_gps=no]) + AC_ARG_WITH(login-shell, AS_HELP_STRING([--with-login-shell=shell], [Login shell for new users, default: /bin/false]), [login_shell=$withval], [login_shell=yes]) @@ -60,6 +64,9 @@ AS_IF([test "x$enable_containers" = "xyes"], [ AS_IF([test "x$enable_wifi" = "xyes"], [ AC_DEFINE(HAVE_WIFI, 1, [Built with Wi-Fi support])]) +AS_IF([test "x$enable_gps" = "xyes"], [ + AC_DEFINE(HAVE_GPS, 1, [Built with GPS receiver support])]) + AS_IF([test "x$with_login_shell" != "xno"], [ AS_IF([test "x$login_shell" = "xyes"], [login_shell=/bin/false]) AC_DEFINE_UNQUOTED(LOGIN_SHELL, "$login_shell", [Default: /bin/false])],[ @@ -131,6 +138,7 @@ cat < + + + + + +3x1 + + + +PC + +PC + +mgmt1 + +data1 + + +mgmt2 + +mgmt3 + +data2 + + + +R1 + +mgmt + +data + +link + +R1 + 10.0.1.1/32 +(lo) + + + +PC:mgmt1--R1:mgmt + + + + +PC:data1--R1:data + +10.0.10.1/24 +10.0.10.2/24 + + + +R2 + +link1 + +mgmt + +link2 + +R2 + 10.0.2.1/32 +(lo) +(br0: 10.0.123.2/24) + + + +PC:mgmt2--R2:mgmt + + + + +R3 + +link + +mgmt + +data + +R3 + 10.0.3.1/32 +(lo) + + + +PC:mgmt3--R3:mgmt + + + + +R1:link--R2:link1 + +10.0.123.1/24 + + + +R3:data--PC:data2 + +10.0.30.2/24 +10.0.30.1/24 + + + +R3:link--R2:link2 + +10.0.123.3/24 + + + diff --git a/test/case/routing/ospf_point_to_multipoint_hybrid/Readme.adoc b/test/case/routing/ospf_point_to_multipoint_hybrid/Readme.adoc new file mode 120000 index 000000000..ae32c8412 --- /dev/null +++ b/test/case/routing/ospf_point_to_multipoint_hybrid/Readme.adoc @@ -0,0 +1 @@ +test.adoc \ No newline at end of file diff --git a/test/case/routing/ospf_point_to_multipoint_hybrid/test.adoc b/test/case/routing/ospf_point_to_multipoint_hybrid/test.adoc new file mode 100644 index 000000000..7bd202af0 --- /dev/null +++ b/test/case/routing/ospf_point_to_multipoint_hybrid/test.adoc @@ -0,0 +1,46 @@ +=== OSPF Point-to-Multipoint Hybrid + +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/routing/ospf_point_to_multipoint_hybrid] + +==== Description + +Verify OSPF point-to-multipoint hybrid (broadcast) interface type by +configuring three routers on a shared multi-access network with the +ietf-ospf 'hybrid' interface type. This maps to FRR's 'point-to-multipoint' +network type, which uses multicast for neighbor discovery. + +R2 acts as the hub, bridging two physical links (link1, link2) into a +single broadcast domain (br0). R1 and R3 each connect to one of R2's +ports. The test verifies that all routers form OSPF adjacencies, exchange +routes, and that the interface type is correctly reported as hybrid. + +.... + +------------------+ +------------------+ + | R1 | | R3 | + | 10.0.1.1/32 | | 10.0.3.1/32 | + | (lo) | | (lo) | + +--------+---------+ +--------+---------+ + | .1 | .3 + | +------------------+ | + +----link1------+ R2 +------link2--------+ + | 10.0.2.1/32 | + | (lo) | + | br0: 10.0.123.2 | + +------------------+ + 10.0.123.0/24 + (P2MP hybrid / shared segment) +.... + +==== Topology + +image::topology.svg[OSPF Point-to-Multipoint Hybrid topology, align=center, scaledwidth=75%] + +==== Sequence + +. Set up topology and attach to target DUTs +. Configure targets +. Wait for OSPF routes +. Verify interface type is hybrid +. Verify connectivity between all DUTs + + diff --git a/test/case/routing/ospf_point_to_multipoint_hybrid/test.py b/test/case/routing/ospf_point_to_multipoint_hybrid/test.py new file mode 100755 index 000000000..f067ad832 --- /dev/null +++ b/test/case/routing/ospf_point_to_multipoint_hybrid/test.py @@ -0,0 +1,334 @@ +#!/usr/bin/env python3 +"""OSPF Point-to-Multipoint Hybrid + +Verify OSPF point-to-multipoint hybrid (broadcast) interface type by +configuring three routers on a shared multi-access network with the +ietf-ospf 'hybrid' interface type. This maps to FRR's 'point-to-multipoint' +network type, which uses multicast for neighbor discovery. + +R2 acts as the hub, bridging two physical links (link1, link2) into a +single broadcast domain (br0). R1 and R3 each connect to one of R2's +ports. The test verifies that all routers form OSPF adjacencies, exchange +routes, and that the interface type is correctly reported as hybrid. + +.... + +------------------+ +------------------+ + | R1 | | R3 | + | 10.0.1.1/32 | | 10.0.3.1/32 | + | (lo) | | (lo) | + +--------+---------+ +--------+---------+ + | .1 | .3 + | +------------------+ | + +----link1------+ R2 +------link2--------+ + | 10.0.2.1/32 | + | (lo) | + | br0: 10.0.123.2 | + +------------------+ + 10.0.123.0/24 + (P2MP hybrid / shared segment) +.... +""" + +import infamy +import infamy.route as route +from infamy.util import until, parallel + + +def config_target1(target, link, data): + target.put_config_dicts({ + "ietf-interfaces": { + "interfaces": { + "interface": [ + { + "name": link, + "enabled": True, + "ipv4": { + "forwarding": True, + "address": [{ + "ip": "10.0.123.1", + "prefix-length": 24 + }] + } + }, + { + "name": data, + "enabled": True, + "ipv4": { + "forwarding": True, + "address": [{ + "ip": "10.0.10.1", + "prefix-length": 24 + }] + } + }, + { + "name": "lo", + "enabled": True, + "ipv4": { + "address": [{ + "ip": "10.0.1.1", + "prefix-length": 32 + }] + } + } + ] + } + }, + "ietf-system": { + "system": { + "hostname": "R1" + } + }, + "ietf-routing": { + "routing": { + "control-plane-protocols": { + "control-plane-protocol": [{ + "type": "infix-routing:ospfv2", + "name": "default", + "ospf": { + "redistribute": { + "redistribute": [{ + "protocol": "connected" + }] + }, + "areas": { + "area": [{ + "area-id": "0.0.0.0", + "interfaces": { + "interface": [{ + "name": link, + "enabled": True, + "interface-type": "hybrid", + "hello-interval": 1, + "dead-interval": 3 + }, { + "name": "lo", + "enabled": True + }] + } + }] + } + } + }] + } + } + } + }) + + +def config_target2(target, link1, link2): + target.put_config_dicts({ + "ietf-interfaces": { + "interfaces": { + "interface": [ + { + "name": "br0", + "type": "infix-if-type:bridge", + "enabled": True, + "ipv4": { + "forwarding": True, + "address": [{ + "ip": "10.0.123.2", + "prefix-length": 24 + }] + } + }, + { + "name": link1, + "enabled": True, + "infix-interfaces:bridge-port": { + "bridge": "br0" + } + }, + { + "name": link2, + "enabled": True, + "infix-interfaces:bridge-port": { + "bridge": "br0" + } + }, + { + "name": "lo", + "enabled": True, + "ipv4": { + "address": [{ + "ip": "10.0.2.1", + "prefix-length": 32 + }] + } + } + ] + } + }, + "ietf-system": { + "system": { + "hostname": "R2" + } + }, + "ietf-routing": { + "routing": { + "control-plane-protocols": { + "control-plane-protocol": [{ + "type": "infix-routing:ospfv2", + "name": "default", + "ospf": { + "redistribute": { + "redistribute": [{ + "protocol": "connected" + }] + }, + "areas": { + "area": [{ + "area-id": "0.0.0.0", + "interfaces": { + "interface": [{ + "name": "br0", + "enabled": True, + "interface-type": "hybrid", + "hello-interval": 1, + "dead-interval": 3 + }, { + "name": "lo", + "enabled": True + }] + } + }] + } + } + }] + } + } + } + }) + + +def config_target3(target, link, data): + target.put_config_dicts({ + "ietf-interfaces": { + "interfaces": { + "interface": [ + { + "name": link, + "enabled": True, + "ipv4": { + "forwarding": True, + "address": [{ + "ip": "10.0.123.3", + "prefix-length": 24 + }] + } + }, + { + "name": data, + "enabled": True, + "ipv4": { + "forwarding": True, + "address": [{ + "ip": "10.0.30.1", + "prefix-length": 24 + }] + } + }, + { + "name": "lo", + "enabled": True, + "ipv4": { + "address": [{ + "ip": "10.0.3.1", + "prefix-length": 32 + }] + } + } + ] + } + }, + "ietf-system": { + "system": { + "hostname": "R3" + } + }, + "ietf-routing": { + "routing": { + "control-plane-protocols": { + "control-plane-protocol": [{ + "type": "infix-routing:ospfv2", + "name": "default", + "ospf": { + "redistribute": { + "redistribute": [{ + "protocol": "connected" + }] + }, + "areas": { + "area": [{ + "area-id": "0.0.0.0", + "interfaces": { + "interface": [{ + "name": link, + "enabled": True, + "interface-type": "hybrid", + "hello-interval": 1, + "dead-interval": 3 + }, { + "name": "lo", + "enabled": True + }] + } + }] + } + } + }] + } + } + } + }) + + +with infamy.Test() as test: + with test.step("Set up topology and attach to target DUTs"): + env = infamy.Env() + R1 = env.attach("R1", "mgmt") + R2 = env.attach("R2", "mgmt") + R3 = env.attach("R3", "mgmt") + + with test.step("Configure targets"): + _, R1link = env.ltop.xlate("R1", "link") + _, R1data = env.ltop.xlate("R1", "data") + _, R2link1 = env.ltop.xlate("R2", "link1") + _, R2link2 = env.ltop.xlate("R2", "link2") + _, R3link = env.ltop.xlate("R3", "link") + _, R3data = env.ltop.xlate("R3", "data") + + parallel(config_target1(R1, R1link, R1data), + config_target2(R2, R2link1, R2link2), + config_target3(R3, R3link, R3data)) + + with test.step("Wait for OSPF routes"): + print("Waiting for OSPF routes to converge") + until(lambda: route.ipv4_route_exist(R1, "10.0.2.1/32", proto="ietf-ospf:ospfv2"), attempts=200) + until(lambda: route.ipv4_route_exist(R1, "10.0.3.1/32", proto="ietf-ospf:ospfv2"), attempts=200) + until(lambda: route.ipv4_route_exist(R2, "10.0.1.1/32", proto="ietf-ospf:ospfv2"), attempts=200) + until(lambda: route.ipv4_route_exist(R2, "10.0.3.1/32", proto="ietf-ospf:ospfv2"), attempts=200) + until(lambda: route.ipv4_route_exist(R3, "10.0.1.1/32", proto="ietf-ospf:ospfv2"), attempts=200) + until(lambda: route.ipv4_route_exist(R3, "10.0.2.1/32", proto="ietf-ospf:ospfv2"), attempts=200) + + with test.step("Verify interface type is hybrid"): + print("Checking OSPF interface type on all routers") + assert route.ospf_get_interface_type(R1, "0.0.0.0", R1link) == "hybrid" + assert route.ospf_get_interface_type(R2, "0.0.0.0", "br0") == "hybrid" + assert route.ospf_get_interface_type(R3, "0.0.0.0", R3link) == "hybrid" + + with test.step("Verify connectivity between all DUTs"): + _, hport1 = env.ltop.xlate("PC", "data1") + _, hport2 = env.ltop.xlate("PC", "data2") + with infamy.IsolatedMacVlan(hport1) as ns1, \ + infamy.IsolatedMacVlan(hport2) as ns2: + ns1.addip("10.0.10.2") + ns2.addip("10.0.30.2") + ns1.addroute("10.0.3.1/32", "10.0.10.1") + ns2.addroute("10.0.1.1/32", "10.0.30.1") + parallel( + lambda: ns1.must_reach("10.0.3.1"), + lambda: ns2.must_reach("10.0.1.1"), + ) + test.succeed() diff --git a/test/case/routing/ospf_point_to_multipoint_hybrid/topology.dot b/test/case/routing/ospf_point_to_multipoint_hybrid/topology.dot new file mode 100644 index 000000000..6a345571c --- /dev/null +++ b/test/case/routing/ospf_point_to_multipoint_hybrid/topology.dot @@ -0,0 +1,39 @@ +graph "3r-p2mp" { + layout="neato"; + overlap="false"; + esep="+20"; + size=10 + + node [shape=record, fontname="DejaVu Sans Mono, Book"]; + edge [color="cornflowerblue", penwidth="2", fontname="DejaVu Serif, Book"]; + + PC [ + label="PC | { mgmt1 | data1 | \n\n\n\n | mgmt2 | mgmt3 | data2 }", + pos="20,30!", + requires="controller", + ]; + + R1 [ + label="{ mgmt | data | link } | R1 \n 10.0.1.1/32 \n(lo)", + pos="160,60!", + requires="infix", + ]; + R2 [ + label="{ link1 | mgmt | link2 } | R2 \n 10.0.2.1/32 \n(lo) \n(br0: 10.0.123.2/24)", + pos="160,30!", + requires="infix", + ]; + R3 [ + label="{ link | mgmt | data } | R3 \n 10.0.3.1/32 \n(lo)", + pos="160,0!", + requires="infix", + ]; + + PC:mgmt1 -- R1:mgmt [requires="mgmt", color="lightgray"] + PC:mgmt2 -- R2:mgmt [requires="mgmt", color="lightgray"] + PC:mgmt3 -- R3:mgmt [requires="mgmt", color="lightgray"] + PC:data1 -- R1:data [taillabel="10.0.10.2/24", headlabel="10.0.10.1/24"] + R3:data -- PC:data2 [taillabel="10.0.30.1/24", headlabel="10.0.30.2/24"] + R1:link -- R2:link1 [taillabel="10.0.123.1/24"] + R3:link -- R2:link2 [taillabel="10.0.123.3/24"] +} diff --git a/test/case/routing/ospf_point_to_multipoint_hybrid/topology.svg b/test/case/routing/ospf_point_to_multipoint_hybrid/topology.svg new file mode 100644 index 000000000..94d30fe36 --- /dev/null +++ b/test/case/routing/ospf_point_to_multipoint_hybrid/topology.svg @@ -0,0 +1,113 @@ + + + + + + +3r-p2mp + + + +PC + +PC + +mgmt1 + +data1 + + +mgmt2 + +mgmt3 + +data2 + + + +R1 + +mgmt + +data + +link + +R1 + 10.0.1.1/32 +(lo) + + + +PC:mgmt1--R1:mgmt + + + + +PC:data1--R1:data + +10.0.10.1/24 +10.0.10.2/24 + + + +R2 + +link1 + +mgmt + +link2 + +R2 + 10.0.2.1/32 +(lo) +(br0: 10.0.123.2/24) + + + +PC:mgmt2--R2:mgmt + + + + +R3 + +link + +mgmt + +data + +R3 + 10.0.3.1/32 +(lo) + + + +PC:mgmt3--R3:mgmt + + + + +R1:link--R2:link1 + +10.0.123.1/24 + + + +R3:data--PC:data2 + +10.0.30.2/24 +10.0.30.1/24 + + + +R3:link--R2:link2 + +10.0.123.3/24 + + +