NetworkManager/src/core
Gris Ge 1747eb96d6 manager: Ensure DHCP interface delete first when daemon stop
Given linux bridge/bond holds DHCP config with
`ipv4.dhcp-send-release: ture` or `ipv6.dhcp-send-release: true`,
when stopping NetworkManager daemon, then NM daemon might
remove/deactivate physical interface first causing DHCP release packet
cannot be delivered.

To fix the issue, we sort the device deletion to let software device
that holds DHCP config to remove first.

Merge Request: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2379

Co-authored-by: Rahul Rajesh <rajeshrah22@gmail.com>
2026-04-29 17:04:04 -04:00
..
bpf clat: print translation statistics during deactivation 2026-02-06 17:47:33 +01:00
devices device: cleanup DHCP before devices removed 2026-04-29 17:03:57 -04:00
dhcp dhcp: improve log message for unknown DHCP plugin 2026-04-08 07:50:41 +00:00
dns dns: fix infinite loop in assertion checking search domains 2026-04-14 12:54:12 +02:00
dnsmasq core, libnm: support per-connection DNS URIs 2025-01-07 15:41:44 +01:00
ndisc build: don't require libndp >= 1.9 if CLAT is disabled 2026-02-06 10:38:05 +01:00
platform platform: track onlink flag per-nexthop for IPv4 routes 2026-03-02 10:57:56 +00:00
ppp pppd-plugin: fix gateway for PPP connections without carrier-provided remote IP 2026-04-09 08:00:12 +00:00
settings settings: fix check on existing system secrets 2026-02-25 09:05:04 +01:00
supplicant wifi: add support for new "6GHz" band 2026-01-15 17:38:40 +01:00
tests checkpoint: rollback devices' "permanently managed" configuration 2026-03-06 11:21:57 +01:00
vpn vpn: set search domains 2026-02-26 16:40:59 +00:00
main-utils.c libnm-glib-aux: add temp name argument to nm_utils_file_set_contents() 2025-10-22 09:56:39 +02: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: delay D-Bus type initialization for --print-config 2026-03-06 14:30:23 -05:00
meson.build geneve: added GENEVE device support 2026-02-17 15:21:03 -05:00
NetworkManagerUtils.c platform: track onlink flag per-nexthop for IPv4 routes 2026-03-02 10:57:56 +00:00
NetworkManagerUtils.h device: simplify the nm_utils_complete_generic() machinery 2025-01-20 06:13:59 +01:00
nm-act-request.c src: drop most master references from the code 2024-08-09 15:47:32 +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 core: rename NM_DEVICE_MANAGED_TYPE_MANAGED to _TYPE_FULL 2024-08-28 15:35:56 +02:00
nm-active-connection.h src: drop most master references from the code 2024-08-09 15:47:32 +02:00
nm-audit-manager.c format: run nm-code-format 2024-10-04 11:07:35 +02: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 format: run nm-code-format 2024-10-04 11:07:35 +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 format: run nm-code-format 2024-10-04 11:07:35 +02: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 bond-slb: fix memory leak 2025-07-10 09:12:02 +02:00
nm-bond-manager.h bonding: send ARP announcement on bonding-slb link/carrier down 2024-12-18 14:45:54 +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: rollback devices' "permanently managed" configuration 2026-03-06 11:21:57 +01: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 core: config-data: don't ignore [.intern.device/connection] sections 2026-03-06 11:21:47 +01:00
nm-config-data.h dns: make [global-dns] to overwrite configs from connections 2025-09-11 10:25:36 +00:00
nm-config.c core: use GDir to avoid libgvfs loading 2026-04-08 08:30:18 +00:00
nm-config.h checkpoint: rollback devices' "permanently managed" configuration 2026-03-06 11:21:57 +01:00
nm-connectivity.c core: restrict connectivity check lookups to per-link DNS if available 2025-11-19 14:54:40 +00:00
nm-connectivity.h Updated code format 2024-04-08 06:35:20 +00:00
nm-core-utils.c clat: support layer3 interfaces 2026-02-06 17:47:30 +01:00
nm-core-utils.h clat: support layer3 interfaces 2026-02-06 17:47:30 +01:00
nm-dbus-manager.c format: run nm-code-format 2024-10-04 11:07:35 +02: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 format: run nm-code-format 2024-10-04 11:07:35 +02:00
nm-dbus-utils.c dbus: add helper macros for GDBusAnnotationInfo 2024-01-16 09:28:17 +01:00
nm-dbus-utils.h format: run nm-code-format 2024-10-04 11:07:35 +02: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 dispatcher: fix serialization of DNS servers 2025-01-07 15:41:45 +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 firewall/utils: replace ipv4 iptables macro with ipxtables macro 2025-04-01 08:08:52 +00:00
nm-firewall-utils.h firewall/wireguard: drop packets received to wrong interface 2025-04-01 08:08:52 +00: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 platform: expand nmp object type flags to guint64 2026-02-17 15:21:03 -05:00
nm-ip-config.h platform: expand nmp object type flags to guint64 2026-02-17 15:21:03 -05: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 platform: track onlink flag per-nexthop for IPv4 routes 2026-03-02 10:57:56 +00:00
nm-l3-config-data.h l3cd: rename "clat" to "clat_config" 2026-02-06 10:38:06 +01:00
nm-l3-ipv4ll.c format: run nm-code-format 2024-10-04 11:07:35 +02:00
nm-l3-ipv4ll.h all: fix various "-Wcast-align=strict" warnings 2022-12-09 09:15:56 +01:00
nm-l3-ipv6ll.c format: run nm-code-format 2024-10-04 11:07:35 +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: wrap _clat_prefix_is_better() in HAVE_CLAT guard 2026-03-31 11:44:42 +02:00
nm-l3cfg.h platform: expand nmp object type flags to guint64 2026-02-17 15:21:03 -05:00
nm-manager.c manager: Ensure DHCP interface delete first when daemon stop 2026-04-29 17:04:04 -04:00
nm-manager.h manager: add sharing-ipv4-changed signal 2025-10-24 05:27:18 +00:00
nm-netns.c platform: track onlink flag per-nexthop for IPv4 routes 2026-03-02 10:57:56 +00:00
nm-netns.h netns: add a CLAT IP reservation type 2026-01-24 09:40:47 +01:00
nm-pacrunner-manager.c format: run nm-code-format 2024-10-04 11:07:35 +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: fix integer overflow in IPv6 PD subnet calculation 2026-04-14 12:53:43 +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 format: run nm-code-format 2024-10-04 11:07:35 +02: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 15:47:32 +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.