home.social

#ifstate — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #ifstate, aggregated by home.social.

fetched live
  1. Last week I participated #SaltSprint to discuss declarative network configuration in #NixOS. I got the feedback, that replacing scripted networking with #ifstate of a full blown frr-based EVPN setup is possible and did just work. 💪

    This feedback makes me really happy 🤗 #WorksAsIntended

    In return, ifstate got a larger pull request improving its python packaging and CI tooling. And there is a commitment for further contributions. ❤️ ❤️ ❤️

    github.com/NixOS/nixpkgs/issue

    #linuxnetworking #nix

  2. ifstate 2.4.1 - a tool for declarative network configuration for Linux - was released:
    codeberg.org/routerkit/ifstate

    This release primarily fixes bugs just discovered by users upgrading to the 2.4 release. It is already available in Alpine Linux 3.24.

    #ifstate #linuxnetworking #AlpineLinux

  3. 2) IPv6 tokenized interface identifier support was added to allow to configure the IPv6 interface identifier for interfaces doing SLAAC: ifstate.net/schema/2.4/#interf

    This was specified in datatracker.ietf.org/doc/html/ and is implemented in the Linux kernel. Ifstate provides the same functionality as the ip-token(8) command from iproute2.

    The new release is already available in Alpine Linux edge and will be part of Alpine Linux 3.24 🥳

    #ifstate #linuxnetworking #AlpineLinux

  4. #ifstate 2.4.0 - a tool for declarative network configuration for Linux - was released:
    codeberg.org/routerkit/ifstate

    This is release contains two new major features:

    1) When no MAC address was specified in the config, the L2 address of virtual ifaces are now build reproducible. The SHAKE256 cryptographic hash function is used with a machine-id+netns+ifname dependent input string: ifstate.net/2.4/docs/macaddr/

    Physical ifaces are set to their permanent MAC addresses.

  5. In case you bother why I'm looking at MAC address handling for various link types of the Linux kernel: I'm working on a new ifstate feature to get reproducible mac addresses for virtual interfaces and reset the mac address of physical links to their permanent mac address by default.

    codeberg.org/routerkit/ifstate

    The reproducible MAC addresses are based on SHAKE256 with an input build from the host (machine-id), netns and interface (link) name.

    #ifstate #linuxnetworking

  6. The JSON schema and it's description were missing for ifstate 2.3. It has now been published at ifstate.net/schema/2.3/

    For your convenience the JSON Schema Store catalog entry has also been updated: github.com/SchemaStore/schemas

    #ifstate #linuxnetworking #schemastore

  7. ifstate 2.3.0 - a tool for declarative network configuration for Linux - was released:
    codeberg.org/routerkit/ifstate

    This 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 detection

    The new release is already available in #AlpineLinux and in the RouterKit Debian package repository.

    #linuxnetworking #ifstate #RouterKit

  8. ifstate 2.2.6 - a tool for declarative network configuration for Linux - was released:
    codeberg.org/routerkit/ifstate

    This 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.

    #linuxnetworking #ifstate #RouterKit

  9. Building Ubuntu LTS packages for #ifstate has been enabled in git HEAD. There are pre-release builds available for Ubuntu noble and jammy.

    codeberg.org/routerkit/-/packa

    Please be aware that the next (pre-)release packages will get a conflicts to netplan.

    /cc @bebehei

    #ifstate #linuxnetworking

  10. ifstate 2.2.5 - a tool for declarative network configuration for Linux - was released:
    codeberg.org/routerkit/ifstate

    The 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 iproute2

    I am very grateful for the growing number of contributors. 🙏

    #linuxnetworking #ifstate #RouterKit

  11. 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.

    chemnitzer.linux-tage.de/2026/

    #CLT2026 #DDIX #ifstate #RouterKit #linuxnetworking

  12. ifstate 2.2.4 - a tool for declarative network configuration for Linux - was released:
    codeberg.org/liske/ifstate/rel

    The 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 work

    This is the first release with published Debian packages: ifstate.net/2.2/docs/install/#

    #linuxnetworking #Debian #ifstate #wireguard

  13. The ifstate git repository on #Codeberg has been moved from my personal account into the RouterKit project at 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 🥳
    codeberg.org/routerkit/-/packa

    I already use it in prod for haproxy setups on Debian trixie using different network namespaces for listeners and server access.

    #ifstate #RouterKit #haproxy #linuxnetworking #Debian

  14. 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. 😎

    codeberg.org/liske/ifstate/src

    #linuxnetworking #ifstate #haproxy #pyroute2 #Debian

  15. 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.net/2.2/docs/install/#

    #AlpineLinux #ifstate #linuxnetworking #nixos #nixpkgs

  16. #ifstate 2.2.[01] - a tool for declarative network configuration for Linux - was released:
    codeberg.org/liske/ifstate/rel
    codeberg.org/liske/ifstate/rel

    This 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)

    #linuxnetworking

  17. #ifstate 2.1.0 - a tool for declarative network configuration for Linux - was released:
    codeberg.org/liske/ifstate/rel

    This 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 github.com/NixOS/nixpkgs/pull/ )

    #ifstate #linuxnetworking

  18. #ifstate 1.13.9 - a tool for declarative network configuration for Linux - was released:
    codeberg.org/liske/ifstate/rel

    This 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

    #linuxnetworking #AlpineLinux

  19. #ifstate 2.0.2 - a tool for declarative network configuration for Linux - was released:
    codeberg.org/liske/ifstate/rel

    This 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

    #linuxnetworking

  20. 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! 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 #devicetree #dsa

  21. 3) Settings controlling the behavior of IfState (`cshaper`, `defaults` and `ignore`) were moved into the `parameters` setting. All other settings are directly affecting the Linux network stack.

    4) The list of interfaces and wireguard peers has been changed to maps/dictionaries. This prevents duplicate entries which could not detected by the schema validation.

    5) @m4rc3l is now maintaining the packaging of IfState in Nix Packages: search.nixos.org/packages?chan 🥳

    3/4

    #ifstate #nix #nixos #nixpkgs

  22. 1) The default configuration file name has been changed from `config.yml` to `ifstate.conf.yaml`. This allows that an IDE with JSON schema store support schemastore.org/ can more easily detect ifstate config files.

    2) It now cleanups settings which are not specified (IP addresses, neighbors, tc, namespaces etc.) and disables interfaces when no state is specified by default. This can be overridden by the parameters.default setting: ifstate.net/2.0/docs/defaults/

    2/4

    #ifstate

  23. #ifstate 2.0 - a tool to for declarative network configuration for Linux - was released:
    codeberg.org/liske/ifstate/rel
    codeberg.org/liske/ifstate/rel

    The 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: ifstate.net/2.0/docs/upgrades/

    This thread will highlight some of the most important changes!

    1/4

    #linuxnetworking

  24. #ifstate 1.13.8 - a tool to for declarative network configuration for Linux - was released:
    codeberg.org/liske/ifstate/rel

    (already available in @alpinelinux 3.22 + 3.21 + 3.20 + 3.19 and in @m4rc3l's Nix flake codeberg.org/m4rc3l/ifstate.ni)

    This maintenance release contains mostly bug fixes that are already included in the recent ifstate 2.0 release

    #linuxnetworking #AlpineLinux

  25. #ifstate 2.0.0rc4 is available:
    codeberg.org/liske/ifstate/rel

    Yet 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.net/2.0/

    #linuxnetworking

  26. #ifstate 2.0.0rc3 is available:
    codeberg.org/liske/ifstate/rel

    Yet another RC:
    - contains #nix module contributed by @m4rc3l 🙏
    - net.ipv6.conf.all.optimistic_dad is now enabled by default

    There will be at least another RC for codeberg.org/liske/ifstate/iss

    #linuxnetworking #nixos

  27. #ifstate 2.0.0rc2 is available:
    codeberg.org/liske/ifstate/rel

    This 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: ifstate.net/schema/2.0/

    Known issues are/will be tagged with the 2.0.0 milestone here: codeberg.org/liske/ifstate/mil

    Thanks! 🙏

    #linuxnetworking #pyroute2

  28. #ifstate 1.13.7 was released:
    codeberg.org/liske/ifstate/rel

    (already available in @alpinelinux edge + 3.22 + 3.21 + 3.20 + 3.19 and in @m4rc3l's Nix flake codeberg.org/m4rc3l/ifstate.ni)

    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: codeberg.org/liske/ifstate/iss - when keepalived is reloaded any changes on vrrp constraint settings in ifstate may not apply.

    #linuxnetworking #keepalived #AlpineLinux

  29. #ifstate 1.13.5 was released:
    codeberg.org/liske/ifstate/rel

    (already available in @alpinelinux edge + 3.21 + 3.20 + 3.19 and in @m4rc3l's Nix flake codeberg.org/m4rc3l/ifstate.ni)

    This maintenance release fixes an exception breaking ifstate when pyroute2 0.9.1+ is used.

    #linuxnetworking #pyroute2