The release of tool Netplan 1.1 has been announced, which enhances the format for storing network interface settings and associated utilities for managing network configurations. Netplan allows for the storage of parameters in YAML format and provides backends that abstract access to configuration for NetworkManager and systemd-networkd. This tool is used in the Ubuntu distribution starting from release 17.10 and in Debian 12 builds for cloud systems. The project is developed by Canonical with contributions from employees of Microsoft and Deutsche Telekom. The project's code is written in Python and C and is distributed under the GPLv3 license.
Netplan's operation involves reading network settings from files ‘/{lib,etc,run}/netplan/*.yaml’ during the boot process and writing configuration to the /run directory in a format suitable for further processing by systemd-networkd or NetworkManager. All configuration is kept solely in the original YAML file without using ‘/etc/network/interfaces’, although splitting the configuration into multiple files is allowed, for example, to separate libvirt and lxd settings into different files. The description of network interface parameters is done using a declarative syntax that allows for a relatively simple description of a complex network structure.
Unlike the ifupdown format, Netplan uses a declarative syntax; it supports the application of masks for network interface names, MAC addresses, drivers, and other components. When parsing the hierarchy of network interface parameters, context is considered, which allows the correct and orderly transfer of settings to handlers (in ifupdown, parsing complex configurations may encounter issues due to race conditions).
In the new release:
- The ability to override the logic of the systemd-networkd-wait-online service to wait for specific internal (link-local) and routable (with routable state) network interfaces.
- Support for changing settings for the embedded-switch-mode for network interfaces without virtual functions (VF, virtual-function) on SR-IOV (Single Root I/O Virtualization) devices.
- Support for flags that allow influencing the configuration parser to ignore certain incorrect settings without stopping the generation of the entire backend configuration.
- Corrections have been made to resolve issues specific to ProtonVPN and Microsoft Azure Linux.
Source: opennet.ru
