NetworkManager 1.40 Released with Multipath TCP Support, Improved Carrier Detection

NetworkManager 1.40

NetworkManager 1.40 has been released today as the latest stable version of this popular network connection management utility that’s built into most of today’s GNU/Linux distributions.

NetworkManager 1.40 comes more than three months after NetworkManager 1.38 and it packs lots of changes, starting with the removal of the internal systemd DHCPv4 client, which has been replaced by the n-dhcp4 implementation from nettools, expanded log messages for invalid DHCP options, improved carrier detection, as well as many other internal improvements.

Major new features in NetworkManager 1.40 include multipath TCP (MPTCP) support to allow it to configure IP addresses as MPTCP endpoints, a new --offline argument for the nmcli command to allow operation on keyfile-formatted connection profiles without the service running, support for enabling ipv4ll alongside DHCPv4 and static addressing, and support for configuring “ipv6.mtu”.

“This is configurable via the “connection.mptcp-flags” property. The default setting is such that MPTCP handling is automatically enabled if the kernel sysctl “/proc/sys/net/mptcp/enabled” indicates so. NetworkManager does not enable the MPTCP sysctl or adjust the limits (ip mptcp limits). The administrator or the distribution is supposed to configure the desired system settings. Note that strict reverse path filtering (rp_filter) breaks many MPTCP use cases. With MPTCP handling enabled, NetworkManager will relax a strict (1) rp_filter to loose (2). Otherwise, rp_filter is untouched by NetworkManager.”

NetworkManager 1.40 also increases the PMK lifetime for Wi-Fi connections using WPA-EAP, updates the nmcli networking off command to wait for deactivations to complete, improves re-applying of non-bridge properties, adds support for restarting DHCP when the device’s MAC changes, and honors adding a Bluetooth NAP connection with all available methods.

Among other noteworthy changes, this release adds new [dhcp4] and [dhcp6] sections to the /run/NetworkManager/devices/$ifindex device state file that contain the DHCP options for the current lease, improves the appearance of the nm-settings-nmcli man page by preserving paragraphs, removes the requirement of hardware address for DHCPv6, and brings back nm_remote_connection_get_secrets() in libnm.

Last but not least, NetworkManager is now capable of reading the /proc/cmdline kernel command line, which can be used for enabling debugging and the “match.kernel-command-line” setting in the profile. In addition, it now honors the “nm.debug” kernel command line to enable debug logging.

As you can see, NetworkManager 1.40 looks like a hefty update so make sure that you update your installations to this version as soon as it lands in the stable software repositories of your favorite GNU/Linux distribution.

Last updated 2 years ago

Buy Me a Coffee at