NetworkManager/src/core
Íñigo Huguet 75e1d49edf l3cfg: get routes to prune from the list of routes configured by NM
We always sync routes in the main table, but routes in tables other
than main are only pruned if were added by NM, by default. Get the list
of routes to prune from other tables using obj_state->os_nm_configured,
as this tracks what routes were effectively added by NM.

The list should be the same that the one obtained from l3cfg_old. It
could be different if we commited the l3cfg with an NMIPRouteTableSyncMode
of NM_IP_ROUTE_TABLE_SYNC_MODE_MAIN, thus not deleting some routes at
commit time. However, since the previous commit, we never do it.

What all this shows is that starting to use different NMIPRouteTableSyncModes
is probably a bad idea: it will be a source of bugs of routes not being
always synced as users expect, and the use case for them is still to be
known.

(cherry picked from commit c06d130c38)
(cherry picked from commit f59a26b1b1)
2024-12-23 13:03:03 +01:00
..
devices bonding: send ARP announcement on bonding-slb link/carrier down 2024-12-23 13:02:56 +01:00
dhcp src: fix code formatting to last clang version 2024-06-21 13:21:02 +02:00
dns libnm: implement "{ipv4,ipv6}.dns-options" as direct STRV property 2023-11-23 17:19:10 +01:00
dnsmasq all: ensure signendess for arguments of NM_{MIN,MAX,CLAMP}() macros matches 2023-08-07 09:24:36 +02:00
ndisc ndisc: preserve router preferences 2024-08-09 16:57:07 +02:00
platform src: drop most slave references from the code 2024-08-09 16:53:17 +02:00
ppp src: drop most master references from the code 2024-08-09 16:53:17 +02:00
settings src: drop most slave references from the code 2024-08-09 16:53:17 +02:00
supplicant src: fix code formatting to last clang version 2024-06-21 13:21:02 +02:00
tests src: drop most master references from the code 2024-08-09 16:53:17 +02:00
vpn vpn: allow IP configurations with routes and without addresses 2024-05-28 09:50:10 +02:00
main-utils.c core: Fix unextractable translation string 2023-12-18 15:53:16 +01:00
main-utils.h core: move nm_main_utils_get_nm_[ug]id() to "nm-core-utils.h" 2022-01-18 18:10:55 +01:00
main.c core/dbus: "RequestName" of NetworkManager D-Bus API later to fix race 2023-03-23 13:06:57 +01:00
meson.build power: rename NMSleepMonitor to NMPowerMonitor 2024-03-04 18:29:07 +01:00
NetworkManagerUtils.c libnm: use nm_setting_connection_get_controller() where possible 2024-03-12 09:54:31 +01:00
NetworkManagerUtils.h core: add nm_match_spec_device_data_init_from_platform() helper 2023-06-14 11:07:34 +02:00
nm-act-request.c src: drop most master references from the code 2024-08-09 16:53:17 +02:00
nm-act-request.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-active-connection.c dbus-interface: rename activation flag to use conscious language 2024-08-09 16:53:17 +02:00
nm-active-connection.h src: drop most master references from the code 2024-08-09 16:53:17 +02:00
nm-audit-manager.c core: ignore unused result warning of audit_log_user_message() 2024-02-09 08:27:41 +00:00
nm-audit-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-auth-manager.c all: fix deprecated function declaration without a prototype 2022-10-11 17:21:11 +02:00
nm-auth-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-auth-utils.c core: avoid getpwuid() unless necessary in permission check 2023-11-14 10:35:12 +01:00
nm-auth-utils.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-bond-manager.c bonding: send ARP announcement on bonding-slb link/carrier down 2024-12-23 13:02:56 +01:00
nm-bond-manager.h bonding: send ARP announcement on bonding-slb link/carrier down 2024-12-23 13:02:56 +01:00
nm-checkpoint-manager.c core: use nm_dbus_manager_lookup_object_with_type() 2022-03-13 12:02:08 +01:00
nm-checkpoint-manager.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-checkpoint.c checkpoint: preserve in-memory state of connections 2024-05-02 16:49:23 +02:00
nm-checkpoint.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-config-data.c src: drop most slave references from the code 2024-08-09 16:53:17 +02:00
nm-config-data.h src: drop most slave references from the code 2024-08-09 16:53:17 +02:00
nm-config.c core: persist state of software generic devices across restarts 2024-02-21 11:16:05 +01:00
nm-config.h core: persist state of software generic devices across restarts 2024-02-21 11:16:05 +01:00
nm-connectivity.c all: use NM_MIN() instead of MIN() 2023-11-15 09:32:20 +01:00
nm-connectivity.h Updated code format 2024-04-08 06:35:20 +00:00
nm-core-utils.c Updated code format 2024-04-08 06:35:20 +00:00
nm-core-utils.h Updated code format 2024-04-08 06:35:20 +00:00
nm-dbus-manager.c all: use NM_MIN() instead of MIN() 2023-11-15 09:32:20 +01:00
nm-dbus-manager.h core/dbus: split RequestName D-Bus call out of initialization for NMDBusManager 2023-03-23 13:06:57 +01:00
nm-dbus-object.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dbus-object.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-dbus-utils.c dbus: add helper macros for GDBusAnnotationInfo 2024-01-16 09:28:17 +01:00
nm-dbus-utils.h dbus: add helper macros for GDBusAnnotationInfo 2024-01-16 09:28:17 +01:00
nm-dcb.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dcb.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-default-daemon.h libnm: move nm-errors.h include away from nm-connection.h 2022-11-13 23:36:37 +01:00
nm-dhcp-config.c all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-dhcp-config.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-dispatcher.c device: support creating generic devices via device-handler 2024-02-21 11:16:05 +01:00
nm-dispatcher.h dispatcher: read device-handler's stdout into a dictionary 2024-02-21 11:16:04 +01:00
nm-firewall-utils.c all: replace NMP_IFNAMSIZ with NM_IFNAMSIZ 2023-05-30 08:51:10 +02:00
nm-firewall-utils.h bond: don't configure "counter" on nft rules for slb-bonding/mlag 2023-05-10 19:03:40 +02:00
nm-firewalld-manager.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-firewalld-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-hostname-manager.c hostname: combine implementations of read_hostname() for Gentoo and Slackware 2023-02-08 09:51:25 +01:00
nm-hostname-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-ip-config.c core: mark deprecated D-Bus API as deprecated in Introspect() 2024-01-16 09:28:18 +01:00
nm-ip-config.h core: rate-limit updates to IP addresses/routes on D-Bus API 2023-11-30 15:41:43 +01:00
nm-keep-alive.c doc: replace all (allow-none) annotations by (optional) and/or (nullable) 2023-03-27 11:49:43 +02:00
nm-keep-alive.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-l3-config-data.c core: fix dhcp leases in l3cd cloning. 2024-10-04 12:27:16 +02:00
nm-l3-config-data.h core: add nm_l3_config_data_set_allow_routes_without_address() 2024-05-28 09:50:10 +02:00
nm-l3-ipv4ll.c all: use NM_HASH_SEED_16() macro 2023-11-14 14:15:42 +01:00
nm-l3-ipv4ll.h all: fix various "-Wcast-align=strict" warnings 2022-12-09 09:15:56 +01:00
nm-l3-ipv6ll.c core: improve logging of used IPv6 interface identifier 2023-05-19 12:51:58 +02:00
nm-l3-ipv6ll.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-l3cfg.c l3cfg: get routes to prune from the list of routes configured by NM 2024-12-23 13:03:03 +01:00
nm-l3cfg.h l3cfg: add helper function to fetch all the IPv4 configured addresses 2024-12-23 13:02:56 +01:00
nm-manager.c l3cfg: remove routes added by NM on reapply 2024-12-23 13:03:03 +01:00
nm-manager.h checkpoint: Allow rollback on internal global DNS 2024-03-13 20:52:37 +08:00
nm-netns.c netns: schedule a commit when a single-hop route is merged 2023-12-04 17:00:13 +01:00
nm-netns.h core: remove unused tag-less API from nm_netns_watcher*() 2023-03-21 15:58:46 +01:00
nm-pacrunner-manager.c glib-aux: rename IP address related helpers from "nm-inet-utils.h" 2022-08-25 19:05:51 +02:00
nm-pacrunner-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-policy.c policy: retry hostname resolution when it fails 2024-08-22 10:30:02 +02:00
nm-policy.h core: expose and rename nm_policy_device_recheck_auto_activate_schedule() 2023-04-27 08:35:27 +02:00
nm-power-monitor.c power-monitor: fix "shutdown" signal definition 2024-04-04 11:12:18 +02:00
nm-power-monitor.h connection: add support to down-on-poweroff 2024-03-04 18:16:54 +00:00
nm-priv-helper-call.c nm-sudo: rename to nm-priv-helper 2022-01-11 21:46:55 +01:00
nm-priv-helper-call.h nm-sudo: rename to nm-priv-helper 2022-01-11 21:46:55 +01:00
nm-rfkill-manager.c platform: remove CSME related code 2023-09-25 11:46:24 +00:00
nm-rfkill-manager.h platform: remove CSME related code 2023-09-25 11:46:24 +00:00
nm-session-monitor.c all: prefer nm wrappers to automatically attach GSource to default context 2022-03-13 11:59:42 +01:00
nm-session-monitor.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-test-utils-core.h all: replace NMP_IFNAMSIZ with NM_IFNAMSIZ 2023-05-30 08:51:10 +02:00
nm-types.h src: drop most slave references from the code 2024-08-09 16:53:17 +02:00
org.freedesktop.NetworkManager.conf all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
README.l3cfg.md core: rework IP configuration in NetworkManager using layer 3 configuration 2021-11-18 16:21:29 +01:00
README.md all: add some README.md files describing the purpose of our sources 2021-08-19 17:51:11 +02:00
README.next.ip-config.md core: rework IP configuration in NetworkManager using layer 3 configuration 2021-11-18 16:21:29 +01:00

core

The source code of the NetworkManager daemon.

NetworkManager is a daemon that provides a D-Bus API and a file-based API for configuring the network on a Linux host.

This is the daemon source code.