#ifstate — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #ifstate, aggregated by home.social.
-
ifstate 2.3.0 - a tool for declarative network configuration for Linux - was released:
https://codeberg.org/routerkit/ifstate/releases/tag/2.3.0This is release contains various new features like:
- bridge: VLAN membership for bridge ports
- link: support external created veth ifaces
- routing: ignore routes by ifname regex
- tc: add vlan action (allows remapping); improve change detectionThe new release is already available in #AlpineLinux and in the RouterKit Debian package repository.
-
ifstate 2.2.6 - a tool for declarative network configuration for Linux - was released:
https://codeberg.org/routerkit/ifstate/releases/tag/2.2.6This is a bug-fix only release:
- fix MTU configuration for newly created tun links
- fix exception if wireguard sockets cannot be opened (i.e. due to missing kernel modules)The new release is already available in #AlpineLinux and in the RouterKit Debian package repository.
-
Building Ubuntu LTS packages for #ifstate has been enabled in git HEAD. There are pre-release builds available for Ubuntu noble and jammy.
https://codeberg.org/routerkit/-/packages/debian/ifstate/2.3.0~pre2-1
Please be aware that the next (pre-)release packages will get a conflicts to netplan.
/cc @bebehei
-
ifstate 2.2.5 - a tool for declarative network configuration for Linux - was released:
https://codeberg.org/routerkit/ifstate/releases/tag/2.2.5The 76th release includes various fixes & improvements like:
- fixing address scope handling
- fixing non-wireless interfaces handled as wireless interfaces when moving them between netns
- make parsing route table files more compatible to iproute2I am very grateful for the growing number of contributors. 🙏
-
Unser @dd_ix Workshop zum Thema BGP Routing wurde auf den @clt_news angenommen 💪 . Für alle die meine Vorträge der letzten Jahre über Alpine Linux, ifstate oder Linux Router interessant fanden bietet sich hier die Möglichkeit für praktische Erfahrungen und Austausch.
https://chemnitzer.linux-tage.de/2026/de/programm/beitrag/329
-
Unser @dd_ix Workshop zum Thema BGP Routing wurde auf den @clt_news angenommen 💪 . Für alle die meine Vorträge der letzten Jahre über Alpine Linux, ifstate oder Linux Router interessant fanden bietet sich hier die Möglichkeit für praktische Erfahrungen und Austausch.
https://chemnitzer.linux-tage.de/2026/de/programm/beitrag/329
-
Unser @dd_ix Workshop zum Thema BGP Routing wurde auf den @clt_news angenommen 💪 . Für alle die meine Vorträge der letzten Jahre über Alpine Linux, ifstate oder Linux Router interessant fanden bietet sich hier die Möglichkeit für praktische Erfahrungen und Austausch.
https://chemnitzer.linux-tage.de/2026/de/programm/beitrag/329
-
Unser @dd_ix Workshop zum Thema BGP Routing wurde auf den @clt_news angenommen 💪 . Für alle die meine Vorträge der letzten Jahre über Alpine Linux, ifstate oder Linux Router interessant fanden bietet sich hier die Möglichkeit für praktische Erfahrungen und Austausch.
https://chemnitzer.linux-tage.de/2026/de/programm/beitrag/329
-
Unser @dd_ix Workshop zum Thema BGP Routing wurde auf den @clt_news angenommen 💪 . Für alle die meine Vorträge der letzten Jahre über Alpine Linux, ifstate oder Linux Router interessant fanden bietet sich hier die Möglichkeit für praktische Erfahrungen und Austausch.
https://chemnitzer.linux-tage.de/2026/de/programm/beitrag/329
-
ifstate 2.2.4 - a tool for declarative network configuration for Linux - was released:
https://codeberg.org/liske/ifstate/releases/tag/2.2.4The 75th release includes various fixes & improvements like:
- make stable-privacy IPv6 addresses work
- resolve wireguard endpoints *after* configuring the network stack so that DNS resolution could workThis is the first release with published Debian packages: https://ifstate.net/2.2/docs/install/#debian-gnulinux
-
The ifstate git repository on #Codeberg has been moved from my personal account into the RouterKit project at https://codeberg.org/routerkit/ifstate
With moving the project it gains access to CI/CD runners and the first step is to use them to provide #Debian packages from the upcoming 2.2.4 release 🥳
https://codeberg.org/routerkit/-/packages/debian/ifstate/I already use it in prod for haproxy setups on Debian trixie using different network namespaces for listeners and server access.
-
I don't like to maintain packaging upstream, but… I required netns configuration support on Debian for using network namespaces with haproxy!
Sadly I had to use dh_virtualenv because pyroute2 in Debian sid+stable is to old to have all required netns related features.
Haproxy has namespace support for listeners and servers which allows one to easily build multi-tenant load-balancing setups. 😎
-
The ifstate 2.2 release - a tool for declarative network configuration for Linux - is available in the most recent stable releases of Alpine Linux 3.23 and NixOS 25.11. 🥳
Fun fact: this is the first NixOS release where you can use a declarative network configuration out of the box 😉
-
#ifstate 2.2.[01] - a tool for declarative network configuration for Linux - was released:
https://codeberg.org/liske/ifstate/releases/tag/2.2.0
https://codeberg.org/liske/ifstate/releases/tag/2.2.1This release includes:
- support for vlan_flags (loose_binding, …)
- the wgnlpy python dependency has been dropped…and it also contains several fixes, the most import is a regression: interface defaults were not applied since ifstate 2.0
(already available in @alpinelinux edge + v3.23 and #nixpkgs unstable + 25.11)
-
#ifstate 2.1.0 - a tool for declarative network configuration for Linux - was released:
https://codeberg.org/liske/ifstate/releases/tag/2.1.0This release includes:
- support for IP address IFA (local, proto, …)
- support for PtP link IP addressing
- wireguard: auto generation of peer routes from allowsips
- improved handling of LLA…and it also contains some bugfixes 😉
(already available in @alpinelinux edge, the #nixpkgs unstable PR is still pending https://github.com/NixOS/nixpkgs/pull/460206 )
-
#ifstate 1.13.9 - a tool for declarative network configuration for Linux - was released:
https://codeberg.org/liske/ifstate/releases/tag/1.13.9This maintenance release for the old 1.x branch fixes an exception when reconfiguring tc filters when using pyroute2 0.9.1+
(already available in @alpinelinux 3.22 + 3.21 + 3.20 + 3.19)
2/2
-
#ifstate 2.0.2 - a tool for declarative network configuration for Linux - was released:
https://codeberg.org/liske/ifstate/releases/tag/2.0.2This maintenance release contains mostly fixes for traffic control (TC) settings:
- fixes a regression breaking cshaper configurations
- fixes exceptions when reconfiguring tc filters when using pyroute2 0.9.1+1/2
-
6) Interfaces are now identified by a dedicated `identify` setting. While it was already possible to identify interfaces unambiguously by their permanent MAC or bus address, it is now also possible to use their distributed switch architecture (DSA) attributes or path in the firmware devicetree! https://ifstate.net/2.0/examples/dsa/
IfState 2.x is expected to be shipped with Alpine Linux 3.23 and NixOS 25.11. 💪
4/4
-
#ifstate 2.0 - a tool to for declarative network configuration for Linux - was released:
https://codeberg.org/liske/ifstate/releases/tag/2.0.0
https://codeberg.org/liske/ifstate/releases/tag/2.0.1The new major release contains various breaking changes and the config file schema has been refactored to better match the requirements. The new documentation contains a overview on the breaking changes when upgrading from ifstate 1.x: https://ifstate.net/2.0/docs/upgrades/#ifstate-20
This thread will highlight some of the most important changes!
1/4
-
#ifstate 1.13.8 - a tool to for declarative network configuration for Linux - was released:
https://codeberg.org/liske/ifstate/releases/tag/1.13.8(already available in @alpinelinux 3.22 + 3.21 + 3.20 + 3.19 and in @m4rc3l's Nix flake https://codeberg.org/m4rc3l/ifstate.nix)
This maintenance release contains mostly bug fixes that are already included in the recent ifstate 2.0 release
-
#ifstate 2.0.0rc4 is available:
https://codeberg.org/liske/ifstate/releases/tag/2.0.0rc4Yet another RC:
- the python dep for jsonschema is now optional to allow a lower footprint for #nix packaging
- contributions to bugfixes 🙏Most work was put into the documentation:
- ported from jekyll to mkdocs-material
- updated to reflect ifstate 2.0 schema changes
- enabled versioned documentation, so you can easily compare ifstate 1.x vs. 2.0 -
#ifstate 2.0.0rc3 is available:
https://codeberg.org/liske/ifstate/releases/tag/2.0.0rc3Yet another RC:
- contains #nix module contributed by @m4rc3l 🙏
- net.ipv6.conf.all.optimistic_dad is now enabled by defaultThere will be at least another RC for https://codeberg.org/liske/ifstate/issues/111
-
#ifstate 2.0.0rc2 is available:
https://codeberg.org/liske/ifstate/releases/tag/2.0.0rc2This pre-release contains some major breaking changes. You *need* to update your old config to make it work with the new config schema of ifstate 2.0+ (hint: `ifstatecli show`).
I'm especially looking for feedback on the schema update: https://ifstate.net/schema/2.0/
Known issues are/will be tagged with the 2.0.0 milestone here: https://codeberg.org/liske/ifstate/milestone/5087
Thanks! 🙏
-
#ifstate 1.13.7 was released:
https://codeberg.org/liske/ifstate/releases/tag/1.13.7(already available in @alpinelinux edge + 3.22 + 3.21 + 3.20 + 3.19 and in @m4rc3l's Nix flake https://codeberg.org/m4rc3l/ifstate.nix)
This maintenance release fixes some minor netns and routing related issues.
There is an open issue when using ifstate as a notify fifo script in keepalived: https://codeberg.org/liske/ifstate/issues/105 - when keepalived is reloaded any changes on vrrp constraint settings in ifstate may not apply.
-
I wonder how DSA network interfaces can be distinguished reliable. The port interfaces can be easily identified by the phys_port_name IFLA, but what is about the master interfaces?
I've access to a SoC which has a `dsa` and `eth0` interface (besides 4 port ifaces). Both have the same driver, the same businfo and the same mac address. How can they be distinguished at all, even if they have been renamed or moved into a netns?
Any ideas?
-
#ifstate 1.13.2 was released:
https://codeberg.org/liske/ifstate/releases/tag/1.13.2(available in @alpinelinux edge + 3.21 3.20 + 3.19 and in @m4rc3l's Nix flake https://codeberg.org/m4rc3l/ifstate.nix)
This maintenance release includes fixes for configuring FDB entries.
The configuration of VXLAN with non-default UDP ports, unicast and static flooding now works correctly: https://ifstate.net/examples/vxlan.html
-
#ifstate 1.13.0 was released:
https://codeberg.org/liske/ifstate/releases/tag/1.13.0(available in @alpinelinux edge + 3.20 + 3.19 and in @m4rc3l's Nix flake https://codeberg.org/m4rc3l/ifstate.nix)
Among other minor changes one major change is the refactoring of the vrrp-fifo action (which allows to use ifstate with keepalived's vrrp_notify_fifo_script option). This fixes a race condition breaking ip failover when using more than a single vrrp groups or instances with a netns were used.
-
#ifstate 1.11.7 was released:
https://codeberg.org/liske/ifstate/releases/tag/1.11.7(available in @alpinelinux edge + 3.19)
This is a small bug-fix release for setups where ifstate is run from keepalived using the `vrrp_notify_fifo_script` setting.
https://ifstate.net/docs/vrrp/
There was a a race condition breaking reconfiguration on state changes if more than a single vrrp instance or group was used.
-
#ifstate 1.11.2 has been released:
https://github.com/liske/ifstate/releases/tag/1.11.2(available in @alpinelinux edge)
Since ifstate 1.9 the vrrp-fifo action to be used with #keepalived was completely broken 😱. On @alpinelinux it only had affected the edge branch.
-
#ifstate 1.11.0 has been released:
https://github.com/liske/ifstate/releases/tag/1.11.0(available in @alpinelinux edge)
With this release it is possible to add ethtool default settings for interfaces and configure routes and rules conditional for vrrp setups (to be used with #keepalived).
It also fixes not working settings for `ethtool --change` (speed, duplex etc.).
-
While implementing the netns handling in ifstate I got aware that pyroute2 did not have a netlink RTM_NEWNSID request implementation.
I got https://github.com/svinota/pyroute2/pull/1121 merged into pyroute2 to add RTM_NEWNSID support.
Later I have noticed that my implementation does not work within netns (pyroute2 related, some details in issue https://github.com/svinota/pyroute2/issues/1123 ).
After this tangled journey ifstate netns dev branch now has its first netns superpowers 😎
-
#ifstate 1.8.5 has been released:
https://github.com/liske/ifstate/releases/tag/1.8.5This release contains a important fix: it could happen that link settings are not correctly applied while ifstate does not show any error. This happens when the kernel does not report any errors. One of this settings is the vlan_id for vlan links 😱
When running as #VRRP fifo script for #keepalived it is now possible to trigger a config reload by SIGHUP.
Updates are available for #AlpineLinux edge + 3.18.