Releases: kernelkit/infix
Release list
Infix v26.08.1
Changes
- Upgrade Linux kernel to 6.18.49 (LTS)
Fixes
- Drop meta version namespace prefix in generated factory-, failure-, and test-config. This prevents migrate scripts from running on a file that's already in the correct syntax.
Tip
Try Infix in GNS3! See the blog post for details https://www.kernelkit.org/posts/infix-in-gns3/
Infix v26.08.1-rc1
Changes
- Upgrade Linux kernel to 6.18.49 (LTS)
Fixes
- Drop meta version namespace prefix in generated factory-, failure-, and test-config. This prevents migrate scripts from running on a file that's already in the correct syntax.
Tip
Try Infix in GNS3! See the blog post for details https://www.kernelkit.org/posts/infix-in-gns3/
Infix v26.08.0
Changes
- Upgrade Linux kernel to 6.18.48 (LTS)
- Upgrade Buildroot to 2025.02.17 (LTS)
- Upgrade mdns-alias to v1.3: fixes crash on hostname change while disconnected from Avahi, treats entry group failures and CNAME collisions as transient (retried instead of exiting), and quieter logs by default
- Add support for firewall address-set (ipset): named sets of IP addresses and networks, usable as zone sources for per-IP access control, issue #1189
- Build RPi64 SD card images in release builds
- Include .pkg files in release builds
- The
statdservice now logs atnoticelevel by default, like other services, and supports-v <level>to adjust verbosity at runtime - Hardware sensors are now children of the component they measure, so the CPU temperature belongs to the CPU component, and VPD components are named after the board they sit on,
vpd-cpu,vpd-product - Services can now bind to addresses not yet assigned to an interface, e.g., a floating virtual IP address managed by a routing daemon, issue #1022
- Wi-Fi interfaces in station mode now show the BSSID of the connected access point in their operational status
- All Infix build options have been renamed to use a common
IX_prefix, e.g.,INFIX_IMAGE_IDis nowIX_IMAGE_ID. External trees and saved defconfigs referencing the old names must be updated, issue #1305 - Add LED support to Acer Connect Vero W6M
Added
- Add NanoPi R2S Plus support (on-board 32 GB eMMC), including U-Boot device tree selection so the eMMC is enabled when present
- Add Microchip EV23X71A (Laguna) support: LAN969x switch with 24 GbE copper ports, four SFP+ cages, and a management port, booting Infix from eMMC with the usual A/B slots
Fixes
-
Fix annoying "cannot deselect all services" or reset to YANG default in the web interface's firewall configuration page
-
Fix sporadic slow response, or timeouts, when reading device status while mDNS neighbors are being discovered, e.g., after an mDNS restart. Updates to the neighbor table are now batched, and politely retried when other users or services keep the system busy, logged as:
statd[3558]: mdns: operational datastore busy, retrying ... -
Fix missing CPU temperature in
show systemand the web interface on SparX-5, LAN969x, and x86 boards -
Fix status LED never leaving the boot-in-progress blink pattern: the conditions driving it were never signaled. The console now also shows a critical error banner when the system falls back to the failure config
-
Fix port LEDs on systems with multiple switch chips
-
Fix web interface not starting on fresh installs on several boards: the factory config was missing the entry for the self-signed HTTPS certificate generated on first boot
-
Fix invalid LLDP operational data when a remote device is heard on more than one of its ports, causing NETCONF/RESTCONF clients to reject the entire neighbor list
-
Fix Wi-Fi radios advertising unsupported bands, only 2.4/5/6 GHz are supported, and a race at radio setup that could remove the wrong interface
Tip
Try Infix in GNS3! See the blog post for details https://www.kernelkit.org/posts/infix-in-gns3/
Infix v26.08.0-rc2
Changes
- Upgrade Linux kernel to 6.18.48 (LTS)
- Upgrade Buildroot to 2025.02.17 (LTS)
- Upgrade mdns-alias to v1.3: fixes crash on hostname change while disconnected from Avahi, treats entry group failures and CNAME collisions as transient (retried instead of exiting), and quieter logs by default
- Add support for firewall address-set (ipset): named sets of IP addresses and networks, usable as zone sources for per-IP access control, issue #1189
- Build RPi64 SD card images in release builds
- Include .pkg files in release builds
- The
statdservice now logs atnoticelevel by default, like other services, and supports-v <level>to adjust verbosity at runtime - Hardware sensors are now children of the component they measure, so the CPU temperature belongs to the CPU component, and VPD components are named after the board they sit on,
vpd-cpu,vpd-product - Services can now bind to addresses not yet assigned to an interface, e.g., a floating virtual IP address managed by a routing daemon, issue #1022
- Wi-Fi interfaces in station mode now show the BSSID of the connected access point in their operational status
- All Infix build options have been renamed to use a common
IX_prefix, e.g.,INFIX_IMAGE_IDis nowIX_IMAGE_ID. External trees and saved defconfigs referencing the old names must be updated, issue #1305 - Add LED support to Acer Connect Vero W6M
Added
- Add NanoPi R2S Plus support (on-board 32 GB eMMC), including U-Boot device tree selection so the eMMC is enabled when present
- Add Microchip EV23X71A (Laguna) support: LAN969x switch with 24 GbE copper ports, four SFP+ cages, and a management port, booting Infix from eMMC with the usual A/B slots
Fixes
-
Fix annoying "cannot deselect all services" or reset to YANG default in the web interface's firewall configuration page
-
Fix sporadic slow response, or timeouts, when reading device status while mDNS neighbors are being discovered, e.g., after an mDNS restart. Updates to the neighbor table are now batched, and politely retried when other users or services keep the system busy, logged as:
statd[3558]: mdns: operational datastore busy, retrying ... -
Fix missing CPU temperature in
show systemand the web interface on SparX-5, LAN969x, and x86 boards -
Fix status LED never leaving the boot-in-progress blink pattern: the conditions driving it were never signaled. The console now also shows a critical error banner when the system falls back to the failure config
-
Fix port LEDs on systems with multiple switch chips
-
Fix web interface not starting on fresh installs on several boards: the factory config was missing the entry for the self-signed HTTPS certificate generated on first boot
-
Fix invalid LLDP operational data when a remote device is heard on more than one of its ports, causing NETCONF/RESTCONF clients to reject the entire neighbor list
-
Fix Wi-Fi radios advertising unsupported bands, only 2.4/5/6 GHz are supported, and a race at radio setup that could remove the wrong interface
Tip
Try Infix in GNS3! See the blog post for details https://www.kernelkit.org/posts/infix-in-gns3/
Infix v26.08.0-rc1
Changes
- Upgrade Linux kernel to 6.18.46 (LTS)
- Upgrade Buildroot to 2025.02.17 (LTS)
- Upgrade mdns-alias to v1.3: fixes crash on hostname change while disconnected from Avahi, treats entry group failures and CNAME collisions as transient (retried instead of exiting), and quieter logs by default
- Add support for firewall address-set (ipset): named sets of IP addresses and networks, usable as zone sources for per-IP access control, issue #1189
- Build RPi64 SD card images in release builds
- Include .pkg files in release builds
- The
statdservice now logs atnoticelevel by default, like other services, and supports-v <level>to adjust verbosity at runtime - Hardware sensors are now children of the component they measure, so the CPU temperature belongs to the CPU component, and VPD components are named after the board they sit on,
vpd-cpu,vpd-product
Added
- Add NanoPi R2S Plus support (on-board 32 GB eMMC), including U-Boot device tree selection so the eMMC is enabled when present
- Add Microchip EV23X71A (Laguna) support: LAN969x switch with 24 GbE copper ports, four SFP+ cages, and a management port, booting Infix from eMMC with the usual A/B slots
Fixes
-
Fix annoying "cannot deselect all services" or reset to YANG default in the web interface's firewall configuration page
-
Fix sporadic slow response, or timeouts, when reading device status while mDNS neighbors are being discovered, e.g., after an mDNS restart. Updates to the neighbor table are now batched, and politely retried when other users or services keep the system busy, logged as:
statd[3558]: mdns: operational datastore busy, retrying ... -
Fix missing CPU temperature in
show systemand the web interface on SparX-5, LAN969x, and x86 boards
Tip
Try Infix in GNS3! See the blog post for details https://www.kernelkit.org/posts/infix-in-gns3/
Infix v26.06.0
Note
Noteworthy changes and additions in this release:
🌐 Web Interface: Infix gets its first-ever web interface! Browse live status and a full operational tree, handle common tasks from curated configuration pages, and drop into a YANG tree editor for everything else. A maintenance section covers firmware upgrade, backup & restore, and more.
📶 Wi-Fi Roaming & Mesh: Access points sharing an SSID can hand clients off seamlessly with 802.11k/v/r, form a cable-free 802.11s mesh backhaul, and steer dual-band clients onto the faster 5/6 GHz band.
🗓️ System Scheduling: Reusable time schedules based on ietf-schedule (RFC 9922) let features like scheduled reboot and software update checks run on a recurring, cron-style calendar.
Changes
- Upgrade Linux kernel to 6.18.37 (LTS)
- Upgrade Buildroot to 2025.02.15 (LTS)
- Add basic web interface: static status pages and a tree view of operational status. Curated configuration pages for some common tasks and a YANG tree editor for the rest. Also includes a maintenance section for firmware upgrade, backup & restore, and more
- Add Wi-Fi roaming for fast, seamless hand-off between access points that share an SSID: 802.11k, 802.11v and 802.11r (over-the-air FT). See the Wi-Fi guide for details
- Add Wi-Fi 802.11s mesh support, letting access points form a wireless backhaul between each other without cabling
- Add band steering for dual-band access points, nudging dual-band clients onto the faster 5/6 GHz band
- Add
legacy-ratesoption to re-enable 802.11b rates on 2.4 GHz for old IoT devices (disabled by default) - Add system scheduling based on ietf-schedule (RFC 9922), using the iCalendar recurrence grouping pruned to cron-expressible rules. Schedules are reusable time-specs; features (
scheduled-reboot,software/check-update) trigger off them via a schedule reference - Configuring multiple BSS (more than one SSID) on a single Wi-Fi radio now requires an explicitly configured MAC address per BSS
- New operational
advertised-pmd-typesleaf-list on each Ethernet interface, exposing the link modes currently advertised, to compare against thesupported-pmd-typesintroduced in v26.05.0 - Release assets no longer ship separate
.sha256checksum files; the download page now publishes a SHA-256 checksum for each asset directly
Fixes
- Fix #941: a VETH pair can now connect two containers directly, with both ends assigned to containers.
- Enabling IP masquerading in the firewall no longer enables IP forwarding on all interfaces. This has been an issue ever since the firewall support was introduced in v25.10.0
- Fix file permission regression in
/cfg/startup-config.cfg, causing the defaultadminuser no permission to read or write the file from shell - Fix admin url shown for HTTP/HTTPS links in https://network.local browser, used pre-conflict resolution hostname.local, instead of hostname-2.local
- Fix unreadable per-port temperature sensor names in
show hardwareon Marvell based switches: each sensor is now named after the front-panel port it serves (e.g.e1,e2) instead of a raw device-tree path.show systemalso reports a representative SoC temperature on CN913x platforms - Fix missing
contactandlocationsettings in operational status; the values were configurable but never returned on RESTCONF/NETCONF reads - Fix spurious YANG validation warnings, for NTP and WireGuard configuration, emitted on every NETCONF session and schema load
Tip
Try Infix in GNS3! See the blog post for details https://www.kernelkit.org/posts/infix-in-gns3/
Infix v26.06.0-rc1
Changes
- Upgrade Linux kernel to 6.18.37 (LTS)
- Upgrade Buildroot to 2025.02.15 (LTS)
- Add basic web interface: static status pages and a tree view of operational status. Curated configuration pages for some common tasks and a YANG tree editor for the rest. Also includes a maintenance section for firmware upgrade, backup & restore, and more
- Add Wi-Fi roaming for fast, seamless handoff between access points that share an SSID: 802.11k, 802.11v and 802.11r (over-the-air FT). See the Wi-Fi guide for details
- Add Wi-Fi 802.11s mesh support, letting access points form a wireless backhaul between each other without cabling
- Add band steering for dual-band access points, nudging dual-band clients onto the faster 5/6 GHz band
- Add
legacy-ratesoption to re-enable 802.11b rates on 2.4 GHz for old IoT devices (disabled by default) - Add system scheduling based on ietf-schedule (RFC 9922), using the iCalendar recurrence grouping pruned to cron-expressible rules. Schedules are reusable time-specs; features (
scheduled-reboot,software/check-update) trigger off them via a schedule reference - Configuring multiple BSS (more than one SSID) on a single Wi-Fi radio now requires an explicitly configured MAC address per BSS
- New operational
advertised-pmd-typesleaf-list on each Ethernet interface, exposing the link modes currently advertised, to compare against thesupported-pmd-typesintroduced in v26.05.0 - Release assets no longer ship separate
.sha256checksum files; the download page now publishes a SHA-256 checksum for each asset directly
Fixes
- Fix #941: a VETH pair can now connect two containers directly, with both ends assigned to containers.
- Enabling IP masquerading in the firewall no longer enables IP forwarding on all interfaces. This has been an issue ever since the firewall support was introduced in v25.10.0
- Fix file permission regression in
/cfg/startup-config.cfg, causing the defaultadminuser no permission to read or write the file from shell - Fix admin url shown for HTTP/HTTPS links in https://network.local browser, used pre-conflict resolution hostname.local, instead of hostname-2.local
- Fix unreadable per-port temperature sensor names in
show hardwareon Marvell based switches: each sensor is now named after the front-panel port it serves (e.g.e1,e2) instead of a raw device-tree path.show systemalso reports a representative SoC temperature on CN913x platforms - Fix missing
contactandlocationsettings in operational status; the values were configurable but never returned on RESTCONF/NETCONF reads - Fix spurious YANG validation warnings, for NTP and WireGuard configuration, emitted on every NETCONF session and schema load
Tip
Try Infix in GNS3! Download the appliance from the GNS3 Marketplace to test Infix in a virtual network environment without hardware.
Infix v26.05.0
Changes
- Upgrade Linux kernel to 6.18.33 (LTS)
- Upgrade Buildroot to 2025.02.14 (LTS)
- Upgrade FRR to 10.5.4
- Add support for Acer Connect Vero W6m, a low-cost COTS home router, based on the same hardware as Banana Pi BPI-R3, but with a Wi-Fi 6E (6 GHz band) chip.
- Add configurable channel-width in Wi-Fi configuration.
- Upgrade
ieee802-ethernet-interfaceYANG model to revision 2025-09-10 (IEEE Std 802.3.2-2025), adding the standardphy-typeandpmd-typeoperational leaves. Speed is now exposed viaietf-interfaces:speed(bps, RFC 8343); the now obsoleteeth:speedis no longer returned - Rework
show interfacesummary output as layered protocol rows. When a port has link, a physical-medium row (e.g.1000baseT,10GbaseLR) appears above theethernetrow. VLAN, GRE, VXLAN and WiFi interfaces likewise get one row per protocol layer, with type-specific data on each (vid:,remote:,vni:,station ssid:, etc.), issue #530 - Add support for configurable auto-negotiation for Ethernet ports. A new
advertised-pmd-typesleaf-list replaces the fixed speed idiom for pinned link modes, issue #805. See the Ethernet Interfaces section in the User Guide for details. Existing configurations using fixed speed are migrated automatically on upgrade - Add support for configurable MDI/MDI-X pinout on Ethernet ports. Needed on some PHYs where Auto-MDIX stops working once auto-negotiation is disabled
- New operational
supported-pmd-typesleaf-list on each Ethernet interface, exposing the set of PMD types currently supported - New CLI command
show operational, and optional XPath filtering for this and any of the other datastores, using[path /path/to/subtree] - CLI
showcommands now surface human-friendly error messages instead of a raw Python exceptions, e.g.,Interface "w" not found
Fixes
- Fix #1493: container with a physical interface not properly removed when switching to a configuration without containers
- Fix #1506: add documentation on how to configure VLAN interfaces, including stacked (Q-in-Q) VLAN interfaces, in a dedicated
vlan.md - Handle unclean daemon exits better, e.g.,
dbus-daemoncrashing 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
- Fix broken Wi-Fi 6 GHz band configuration.
- Fix operational read of
/containersfailing and thereby aborting all operational get-data, including RESTCONF/NETCONF reads — for containers whose command contains shell metacharacters, e.g.sh -c "... && ..." - WireGuard interfaces are now regenerated when a referenced keystore key changes: the asymmetric
private-key, and the symmetricpreshared-keyat both peer-group and per-peer level - Fix crash in operational data when a bridge has VLAN ranges configured: the kernel may report ranges (e.g.
vlan 1 vlanEnd 3) frombridge vlan global show, which were not expanded, soshow interfaceand other operational reads failed. Ranges are now expanded and listed correctly
Tip
Try Infix in GNS3! Download the appliance from the GNS3 Marketplace to test Infix in a virtual network environment without hardware.
Infix v26.05.0-rc1
Changes
- Upgrade Linux kernel to 6.18.33 (LTS)
- Upgrade Buildroot to 2025.02.14 (LTS)
- Upgrade FRR to 10.5.4
- Add support for Acer Connect Vero W6m, a low-cost COTS home router, based on the same hardware as Banana Pi BPI-R3, but with a Wi-Fi 6E (6 GHz band) chip.
- Add configurable channel-width in Wi-Fi configuration.
- Upgrade
ieee802-ethernet-interfaceYANG model to revision 2025-09-10 (IEEE Std 802.3.2-2025), adding the standardphy-typeandpmd-typeoperational leaves. Speed is now exposed viaietf-interfaces:speed(bps, RFC 8343); the now obsoleteeth:speedis no longer returned - Rework
show interfacesummary output as layered protocol rows. When a port has link, a physical-medium row (e.g.1000baseT,10GbaseLR) appears above theethernetrow. VLAN, GRE, VXLAN and WiFi interfaces likewise get one row per protocol layer, with type-specific data on each (vid:,remote:,vni:,station ssid:, etc.), issue #530 - Add support for configurable auto-negotiation for Ethernet ports. A new
advertised-pmd-typesleaf-list replaces the fixed speed idiom for pinned link modes, issue #805. See the Ethernet Interfaces section in the User Guide for details. Existing configurations using fixed speed are migrated automatically on upgrade - Add support for configurable MDI/MDI-X pinout on Ethernet ports. Needed on some PHYs where Auto-MDIX stops working once auto-negotiation is disabled
- New operational
supported-pmd-typesleaf-list on each Ethernet interface, exposing the set of PMD types currently supported - New CLI command
show operational, and optional XPath filtering for this and any of the other datastores, using[path /path/to/subtree] - CLI
showcommands now surface human-friendly error messages instead of a raw Python exceptions, e.g.,Interface "w" not found
Fixes
- Fix #1493: container with a physical interface not properly removed when switching to a configuration without containers
- Fix #1506: add documentation on how to configure VLAN interfaces, including stacked (Q-in-Q) VLAN interfaces, in a dedicated
vlan.md - Handle unclean daemon exits better, e.g.,
dbus-daemoncrashing 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
- Fix broken Wi-Fi 6 GHz band configuration.
- Fix operational read of
/containersfailing and thereby aborting all operational get-data, including RESTCONF/NETCONF reads — for containers whose command contains shell metacharacters, e.g.sh -c "... && ..." - WireGuard interfaces are now regenerated when a referenced keystore key changes: the asymmetric
private-key, and the symmetricpreshared-keyat both peer-group and per-peer level - Fix crash in operational data when a bridge has VLAN ranges configured: the kernel may report ranges (e.g.
vlan 1 vlanEnd 3) frombridge vlan global show, which were not expanded, soshow interfaceand other operational reads failed. Ranges are now expanded and listed correctly
Tip
Try Infix in GNS3! Download the appliance from the GNS3 Marketplace to test Infix in a virtual network environment without hardware.
Infix v26.04.0
Changes
- Upgrade Linux kernel to 6.18.25 (LTS)
- Upgrade Buildroot to 2025.02.13 (LTS)
- 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 neighbor table entries that are never evicted by normal ARP/NDP aging
- Add support for PTP/gPTP (IEEE 1588-2019 / 802.1AS) clock synchronization. Supported clock types: Ordinary Clock, Boundary Clock, and Transparent Clock. See the User Guide for configuration details
- Add support for Banana Pi BPI-R4, quad-core Cortex-A73 router with 4x 2.5 GbE switching, dual 10 GbE SFP+. Variants BPI-R4-2g5 and BPI-R4P have one SFP+ replaced by a 2.5 GbE RJ45, with optional PoE on the R4P
- Update Marvell ESPRESSObin board support. Allow booting with stock U-Boot, which only supports ext4 rootfs partitions; to use, apply the
ext4developer snippet before building (make apply-ext4 all) - Fix onboard WiFi support on the Banana Pi BPi-R64
Fixes
- Fix #520: warn in syslog if multicast flooding is disabled
- Fix #769: document dummy interfaces in user guide
- Fix #790: document static multicast filters in user guide
- Fix #1439: changing hostname does not regenerate DHCP client conf until restart
- Fix #1458:
show ntp trackingdisplaying a truncated Reference ID, e.g.,92.2instead of92.246.137.39 - Fix #1466:
show containershowing no output for containers whose command line includes environment variables - Fix issue with IGMP queries sent with all-zeroes source MAC address
- Fix missing IGMP query startup burst when assuming IGMP querier role, as defined in RFC3376 §8.6/§8.7
- Fix Raspberry Pi 4 and Pi 400 display instability after soft reboot. Previously the touchscreen/DSI display required a full power cycle to reinitialise correctly; it now works reliably after
reboot. Please note, you need a fairly up-to-date EEPROM version as well - Fix BPI-R4 board README showing inverted DIP switch values for eMMC and SPI NAND boot modes, which would prevent the board from booting correctly
- Fix SAMA7G54 U-Boot build system selection that caused build failures
- Fix BPI-R3 PCIe devices failing to initialize on boot due to a missing clock definition in the device tree
Tip
Try Infix in GNS3! Download the appliance from the GNS3 Marketplace to test Infix in a virtual network environment without hardware.