The release of tools netplan 1.1 has been presented, offering a format for storing network interfaces and related utilities for managing network configurations. NetPlan utilizes YAML format for storing parameters and provides backends that abstract access to configuration for NetworkManager and Systemd-Networkd. The toolkit is utilized in the Ubuntu distribution starting from release 17.10 and in the DEBIAN 12 assembly for cloud systems. Developed by Canonical with the involvement of employees from Microsoft and Deutsche Telekom, the project code is written in Python and C, and is available under the gplv3 license.
The work of NetPlan involves reading network settings from files “/{lib.etc.run or NetworkManager. The entire configuration is stored in the initial YAML file without using/etc/network/interfaces, while splitting the configuration into separate files, such as for Libvirt and LXD settings. Network interface parameters are described using declarative syntax, simplifying the structure of complex networks.
Unlike the IFUPDown format, NETPLAN utilizes declarative syntax, and enables the use of masks for network interface names, MAC addresses, drivers, and other components. Analyzing the hierarchy of network interface parameters takes context into consideration, ensuring accurate settings transfer to the handlers, avoiding issues caused by race condition states present in ifPdown.
In the latest release of NetPlan, several new features have been introduced:
- The ability to override the logic of the service SYSTEMD-NETWORKD-WAIT-ONLINE to wait for individual Link-Local and routized network interfaces.
- Support for changes in the Eswitch mode (Embedded-Switch-mode) for network interfaces without virtual functions (VF, Virtual-Function) on SR-IOV (Single Root I/O Virtualization).
- Support