NetworkManager/src/libnm-client-impl
Thomas Haller 7218daac78
core: support flag "preserve-external-ip" for Reapply() call
Reapply() is supposed to make sure that the system (the interface)
is configured as indicated by the applied-connection. That means,
it will remove/add configuration to make the system match the requested
configuration.

Add a flag "preserve-external-ip" which relaxes this. During reapply,
IP addresses/routes that exist on the interface and which are not known
(or added) by NetworkManager will be left alone.

This will be used by nm-cloud-setup, so that it can reconfigure the
interface in a less destructive way, which does not conflict with
external `ip addr/route` calls.

Note that the previous commit just adds "VersionInfo" and the
possibility to expose capabilities (patch-level). This is not used
for the new reapply flag, because, while we might backport the
reapply flag, we won't backport the "VersionInfo" property. Exposing
new capabilities via the "VersionInfo" property will only become useful
in the future, where we can backport a capability to older NM versions
(but those that have "VersionInfo" too).

(cherry picked from commit 2c1fb50fb5)
2022-12-19 15:46:45 +01:00
..
tests libnm: test that Gir data matches actual exports 2022-11-11 16:49:39 +01:00
libnm.pc.in libnm.pc: plugindir & configdir 2021-11-03 12:19:36 +01:00
libnm.ver libnm: actually export a lot of routines that were supposed to be public 2022-11-11 16:49:39 +01:00
meson.build libnm: test that Gir data matches actual exports 2022-11-11 16:49:39 +01:00
nm-access-point.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-active-connection.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-checkpoint.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-client.c libnm: fix a large amount of Since tags 2022-11-11 16:49:39 +01:00
nm-conn-utils.c libnm: fix annotations for nm_conn_wireguard_import() 2022-07-21 17:22:34 +02:00
nm-dbus-helpers.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dbus-helpers.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-default-libnm.h libnm: replace nm-types.h by defining the types in respective headers 2022-05-06 18:33:27 +02:00
nm-device-6lowpan.c libnm: actually export a lot of routines that were supposed to be public 2022-11-11 16:49:39 +01:00
nm-device-adsl.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-bond.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-bridge.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-bt.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-dummy.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-device-ethernet.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-generic.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-infiniband.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-ip-tunnel.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-macsec.c libnm: actually export a lot of routines that were supposed to be public 2022-11-11 16:49:39 +01:00
nm-device-macvlan.c libnm: fix placement of some "Since:" tags 2022-05-06 18:33:27 +02:00
nm-device-modem.c libnm" fix type description for LTE,5GNR modems 2022-12-19 08:38:10 +01:00
nm-device-olpc-mesh.c libnm: replace nm-types.h by defining the types in respective headers 2022-05-06 18:33:27 +02:00
nm-device-ovs-bridge.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-ovs-interface.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-device-ovs-port.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-ppp.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-device-private.h build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-device-team.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-tun.c libnm: fix a large amount of Since tags 2022-11-11 16:49:39 +01:00
nm-device-veth.c libnm: actually export a lot of routines that were supposed to be public 2022-11-11 16:49:39 +01:00
nm-device-vlan.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-vrf.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-vxlan.c libnm: actually export a lot of routines that were supposed to be public 2022-11-11 16:49:39 +01:00
nm-device-wifi-p2p.c libnm: actually export a lot of routines that were supposed to be public 2022-11-11 16:49:39 +01:00
nm-device-wifi.c libnm: replace nm-types.h by defining the types in respective headers 2022-05-06 18:33:27 +02:00
nm-device-wimax.c libnm: replace nm-types.h by defining the types in respective headers 2022-05-06 18:33:27 +02:00
nm-device-wireguard.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-device-wpan.c libnm: remove nm_device_wpan_get_hw_address() 2022-11-11 16:49:39 +01:00
nm-device.c core: support flag "preserve-external-ip" for Reapply() call 2022-12-19 15:46:45 +01:00
nm-dhcp-config.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dhcp4-config.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-dhcp4-config.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-dhcp6-config.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-dhcp6-config.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-dns-manager.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dns-manager.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-ip-config.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-ip4-config.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-ip4-config.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-ip6-config.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-ip6-config.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-libnm-utils.c libnm: fix timestamp in LIBNM_CLIENT_DEBUG debug logging 2022-07-04 16:57:23 +02:00
nm-libnm-utils.h libnm: replace nm-types.h by defining the types in respective headers 2022-05-06 18:33:27 +02:00
nm-object-private.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-object.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-remote-connection-private.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-remote-connection.c libnm: fix a large amount of Since tags 2022-11-11 16:49:39 +01:00
nm-secret-agent-old.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-vpn-connection.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-vpn-editor.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-vpn-plugin-old.c libnm: drop nm_vpn_plugin_old_set_{,ip6_}config() 2022-11-11 16:49:39 +01:00
nm-vpn-service-plugin.c libnm: fix a large amount of Since tags 2022-11-11 16:49:39 +01:00
nm-wifi-p2p-peer.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-wimax-nsp.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
README.md all: add some README.md files describing the purpose of our sources 2021-08-19 17:51:11 +02:00

libnm-client-impl

libnm is NetworkManager's client API. This API consists of two parts:

  • the handling of connections (NMConnection), implemented by libnm-core-impl.
  • the caching of D-Bus API (NMClient), implemented by libnm-client-impl.

This directory contains the implementation of the second part. As such, it will be statically linked with libnm-core-impl to make libnm. Also, it cannot be used by the daemon.