NetworkManager/src/libnm-platform
Fernando Fernandez Mancera 05c3f384b6 l3cfg: drop NM_L3_CFG_COMMIT_TYPE_ASSUME and assume_config_once
ASSUME is causing more troubles than benefits it provides. This patch is
dropping NM_L3_CFG_COMMIT_TYPE_ASSUME and assume_config_once. NM3LCfg
will commit as if the sys-iface-state is MANAGED.

This patch is part of the effort to remove ASSUME from NetworkManager.
After ASSUME is dropped when starting NetworkManager it will take full
control of the interface, re-configuring it. The interface will be
managed from the start instead of assumed and then managed.

This will solve the situations where an interface is half-up and then a
restart happens. When NetworkManager is back it won't add the missing
addresses (which is what assume does) so the interface will fail during
the activation and will require a full activation.

https://bugzilla.redhat.com/show_bug.cgi?id=2050216
https://bugzilla.redhat.com/show_bug.cgi?id=2077605
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1196
(cherry picked from commit bf5927b978)
(cherry picked from commit a494c00901)
2022-05-12 10:46:52 +02:00
..
tests platform: clear all BASE types when setting advertised modes for ethernet autoneg 2021-09-06 10:07:15 +02:00
wifi wifi: fix find_freq() implementation 2022-02-21 19:56:13 +01:00
wpan format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
meson.build platform: rename "nmp-route-manager.h" to "nmp-rules-manager.h" 2022-02-10 08:41:17 +01:00
nm-linux-platform.c platform: support IPv6 mulitpath routes and fix cache inconsistency 2022-02-16 10:06:58 +01:00
nm-linux-platform.h platform: allow disabling caching of tc objects 2021-09-20 13:27:16 +02:00
nm-netlink.c platform: no need to initialize nla sockaddr parameter to nl_recv() 2022-02-03 13:11:17 +01:00
nm-netlink.h platform/netlink: accept pre-allocated receive buffer for nl_recv() 2022-02-03 13:08:47 +01:00
nm-platform-private.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-platform-utils.c platform: make "now" timestamp an in/out parameter to nmp_utils_lifetime_get() 2022-05-12 10:46:33 +02:00
nm-platform-utils.h platform: make "now" timestamp an in/out parameter to nmp_utils_lifetime_get() 2022-05-12 10:46:33 +02:00
nm-platform.c l3cfg: drop NM_L3_CFG_COMMIT_TYPE_ASSUME and assume_config_once 2022-05-12 10:46:52 +02:00
nm-platform.h l3cfg: drop NM_L3_CFG_COMMIT_TYPE_ASSUME and assume_config_once 2022-05-12 10:46:52 +02:00
nmp-base.h platform: make NMPlatformVTableAddress struct smaller and pack NMPObjectType 2022-05-12 10:46:39 +02:00
nmp-netns.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nmp-netns.h build: move "shared/nm-platform" to "src/libnm-platform" 2021-02-24 12:48:17 +01:00
nmp-object.c platform: add semantic comparison for IP addresses and add "nm_platform_vtable_address" 2022-05-12 10:46:46 +02:00
nmp-object.h l3cfg: drop NM_L3_CFG_COMMIT_TYPE_ASSUME and assume_config_once 2022-05-12 10:46:52 +02:00
nmp-route-manager.c platform: improve way to prune dirty route-manager entries 2022-02-10 08:41:18 +01:00
nmp-route-manager.h platform: improve way to prune dirty route-manager entries 2022-02-10 08:41:18 +01:00
README.md platform: support IPv6 mulitpath routes and fix cache inconsistency 2022-02-16 10:06:58 +01:00

libnm-platform

A static helper library that provides NMPlatform and other utils. This is NetworkManager's internal netlink library, but also contains helpers for sysfs, ethtool and other kernel APIs.

NMPlaform is also a cache of objects of the netlink API: NMPCache and NMPObject. These objects are used throughout NetworkManager also for generally tracking information about these types. For example, NMPlatformIP4Address (the public part of a certain type of NMPObject) is not only used to track platform addresses from netlink in the cache, but to track information about IPv4 addresses in general.

This depends on the following helper libraries