NetworkManager is an open-source network management component.
- shared: add NMKeyFileDB API
Thomas Haller: It will be used for "/var/lib/NetworkManager/seen-bssids" and "/var/lib/NetworkManager/timestamps" which currently is implemented in NMSettingConnection.
- platform/ethtool,mii: retry ioctl when interface name was renamed for ehttool/mii
Thomas Haller: ethtool/mii API is based on the ifname.
- ifcfg-rh: support serializaing all possible values for ethernet.s390-options (OPTIONS)
Thomas Haller: While the keys of s390-options are from a well-behaving set of names (that is enforced by nm_connection_verify()), the values are arbitrary strings.
- libnm/keyfile: implement ethernet.s390-options in keyfile
Thomas Haller: Currently, nm_setting_wired_get_s390_option() returns the key in an undefined order.
- platform: compare routing rules according to kernel support for FRA_L3MDEV
Thomas Haller: Also, in nm_platform_routing_rule_cmp() always compare the routing table field, also if l3mdev is set.
- platform: compare routing rules according to kernel support for FRA_IP_PROTO
- platform: compare routing rules according to kernel support for FRA_PROTOCOL
Thomas Haller: For routes and routing rules, kernel uses a certain (not stictly defined) set of attributes to decide whether to routes/rules are identical.
That is a problem, as different kernel versions disagree on whether two routes/rules are the same (EEXIST) or not.
Note that when NetworkManager tries to add a rule with protocol set to anything but RTPROT_UNSPEC, then kernel will ignore the attribute if it doesn't have support for it.
- all: support bridge vlan ranges
Beniamino Galvani: In some cases it is convenient to specify ranges of bridge vlans, as already supported by iproute2 and natively by kernel.
- platform: support weakly tracked routing rules in NMPRulesManager
Thomas Haller: Policy routing rules are global, and unlike routes not tied to an interface by ifindex.
- libnm,core: enable "onlink" flags also for IPv6 routes
Thomas Haller: Previously, onlink (RTNH_F_ONLINK) did not work for IPv6.