NetworkManager/src/libnm-platform
Íñigo Huguet 3df94a4f2e sriov: allow reading empty eswitch paramaters via Devlink
Probably not all drivers and devices return all parameters. Set them to
"unknown" if they are missing and let the caller to decide what to do.

In our case, if the sriov setting has a value different to "preserve" it
will try to set it (and will probably fail). But if the missing
parameter is set to "preserve" in the sriov setting we can continue,
just ignoring it.

(cherry picked from commit 7346c5b556)
2024-02-21 11:27:36 +01:00
..
devlink sriov: allow reading empty eswitch paramaters via Devlink 2024-02-21 11:27:36 +01:00
tests platform: drop unused nl_socket_set_nonblocking() function 2023-04-04 08:43:20 +02:00
wifi all: use NM_MIN() instead of MIN() 2023-11-15 09:32:20 +01:00
wpan all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
meson.build platform: netlink: add devlink support 2024-02-21 11:27:28 +01:00
nm-linux-platform.c sriov: don't fail if sriov_totalvfs sysfs file is missing 2024-02-21 11:27:34 +01:00
nm-linux-platform.h platform: allow setting multi_idx instance for NMPlatform 2023-01-19 08:56:21 +01:00
nm-netlink.c platform: drop unused nl_socket_set_nonblocking() function 2023-04-04 08:43:20 +02:00
nm-netlink.h clang-format: reformat code with clang-format 16.0.2-1.fc38 2023-05-19 10:53:13 +02: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 all: use NM_MIN() instead of MIN() 2023-11-15 09:32:20 +01:00
nm-platform-utils.h ethtool: introduce EEE support 2023-11-03 15:41:21 +00:00
nm-platform.c sriov: set the devlink's eswitch inline-mode and encap-mode 2024-02-21 11:27:32 +01:00
nm-platform.h sriov: set the devlink's eswitch inline-mode and encap-mode 2024-02-21 11:27:32 +01:00
nmp-base.c platform: move NMPlatformIP[46]Address to "nmp-plobj.c" 2022-09-23 11:43:36 +02:00
nmp-base.h HSR: add support to HSR/PRP interface 2023-12-05 08:05:56 +01:00
nmp-global-tracker.c all: use c_list_is_empty_or_single() where appropriate 2023-03-08 15:34:47 +01:00
nmp-global-tracker.h platform: introduce function to globally track local route rule 2023-02-21 15:36:38 +01:00
nmp-netns.c platform: avoid printing raw pointer values in log 2023-01-19 08:56:21 +01:00
nmp-netns.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nmp-object.c HSR: add support to HSR/PRP interface 2023-12-05 08:05:56 +01:00
nmp-object.h HSR: add support to HSR/PRP interface 2023-12-05 08:05:56 +01:00
nmp-plobj.c all: use NM_MIN() instead of MIN() 2023-11-15 09:32:20 +01:00
nmp-plobj.h all: use NM_MIN_CONST()/NM_MAX_CONST() instead of MIN()/MAX() 2023-11-15 09:32:19 +01:00
README.md platform: support IPv6 mulitpath routes and fix cache inconsistency 2022-02-16 09:59:49 +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