NetworkManager/src/core
Thomas Haller 359d207d95
dhcp: stop tracking NMDhcpClient instances from NMDhcpManager
NMDhcpManager was tracking DHCP clients. During start, it would check
whether an instance for the same ifindex is running, and stop it.

That seems unnecessary and wrong. Clearly, we cannot have multiple users
(like two `NMDevice`s) run DHCP on the same interface. But its up to
them to coordinate that. They also cannot configure IP addresses at the
same interface, and if they do, then there is a big problem already.

This comes from commit 1806235049 ('dhcp: convert dhcp backends to
classes'). Maybe back then there was also the idea that NetworkManager
could quit and leave dhclient running. That idea is also flawed. When
NetworkManager stops, it leaves the interface (possibly) up, so that
restart works without disruption. That does not mean that the DHCP
client needs to keep running. What works is to restart NetworkManager in
a timely manner, then NetworkManager will start a new DHCP client after
restart. What does not work is stop NetworkManager, do nothing (like
taking over the interface by running your own manager) and expect that
DHCP keeps working indefinitely. And of course, with the internal client
this cannot possibly work either. Don't stop NetworkManager for good, if
you expect NetworkManager to run DHCP on an interface.

A different things is that when NetworkManager crashes, that after
restart it kills the left over dhclient instances. That may require a
solution, for example systemd killing all processes or checking for
left-over PID files and kill the processes. But what was implemented in
NMDhcpManager was not a solution for that.

As such, it's not clear what conflicting instance we want to kill, or
why NMDhcpManager should even track NMDhcpClient instances.
2021-08-11 14:17:25 +02:00
..
devices dhcp: replace NMDhcpClient's signals with "notify" and one notify data argument 2021-08-11 14:17:24 +02:00
dhcp dhcp: stop tracking NMDhcpClient instances from NMDhcpManager 2021-08-11 14:17:25 +02:00
dns all: use G_CALLBACK() macro instead of plain cast 2021-08-05 14:59:11 +02:00
dnsmasq core: cleanup #include of "nm-dnsmasq-utils.c" 2021-04-20 17:25:21 +02:00
ndisc ndisc: add nm_ndisc_dhcp_level_to_string() helper 2021-08-11 14:17:24 +02:00
platform all: use G_CALLBACK() macro instead of plain cast 2021-08-05 14:59:11 +02:00
ppp clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
settings ifup: extend ifup/ifdown to be smarter about NetworkManager profiles 2021-08-07 15:31:04 +02:00
supplicant all: rename nm_utils_strdup_reset*() to nm_strdup_reset*() 2021-08-02 09:26:47 +02:00
tests l3cfg: add nm_l3cfg_remove_config_all_dirty() for removing dirty configs 2021-08-05 14:59:19 +02:00
vpn core: drop deprecated PropertiesChanged D-Bus signal (API BREAK) 2021-05-14 10:57:34 +02:00
main-utils.c all: don't explicitly include <glib-unix.h> 2021-06-28 13:31:34 +02:00
main-utils.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
main.c clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
meson.build core: get file descriptor to ovsdb unix socket from nm-sudo 2021-07-26 15:31:46 +02:00
NetworkManagerUtils.c all: unify and rename strv helper API 2021-07-29 10:26:50 +02:00
NetworkManagerUtils.h core: add parameters options to nm_utils_complete_generic() 2021-07-08 17:20:15 +02:00
nm-act-request.c firewall: rename NMUtilsShareRules to NMFirewallConfig 2021-05-07 11:42:51 +02:00
nm-act-request.h firewall: rename NMUtilsShareRules to NMFirewallConfig 2021-05-07 11:42:51 +02:00
nm-active-connection.c all: use G_CALLBACK() macro instead of plain cast 2021-08-05 14:59:11 +02:00
nm-active-connection.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-audit-manager.c clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-audit-manager.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-auth-manager.c build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-auth-manager.h build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-auth-utils.c all: use nm_{idle,timeout}_add_source() instead of g_source_attach() 2021-06-28 13:31:35 +02:00
nm-auth-utils.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-checkpoint-manager.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-checkpoint-manager.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-checkpoint.c core: drop deprecated PropertiesChanged D-Bus signal (API BREAK) 2021-05-14 10:57:34 +02:00
nm-checkpoint.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-config-data.c all: rename nm_utils_strdict_*() to nm_strdict_*() 2021-08-02 09:26:48 +02:00
nm-config-data.h core: introduce device 'allowed-connections' property 2021-07-27 17:43:45 +02:00
nm-config.c all: rename nm_utils_strsplit_set*() to nm_strsplit_set*() 2021-08-02 09:26:47 +02:00
nm-config.h core: persist the bootfile from DHCP 2021-07-27 09:36:33 +02:00
nm-connectivity.c clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-connectivity.h core: move NMPObjectType to "libnm-platform/nmp-base.h" 2021-03-05 11:27:15 +01:00
nm-core-utils.c all: rename nm_utils_strbuf_*() API to nm_strbuf_*() 2021-08-02 09:26:42 +02:00
nm-core-utils.h core: add nm_utils_connection_match_spec_list() 2021-07-27 17:43:45 +02:00
nm-dbus-manager.c all: use nm_g_idle_add() instead of g_idle_add() 2021-07-26 15:30:09 +02:00
nm-dbus-manager.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-dbus-object.c all: use nm_g_idle_add() instead of g_idle_add() 2021-07-26 15:30:09 +02:00
nm-dbus-object.h core: drop deprecated PropertiesChanged D-Bus signal (API BREAK) 2021-05-14 10:57:34 +02:00
nm-dbus-utils.c all: unify and rename strv helper API 2021-07-29 10:26:50 +02:00
nm-dbus-utils.h core: drop deprecated PropertiesChanged D-Bus signal (API BREAK) 2021-05-14 10:57:34 +02:00
nm-dcb.c all: rename nm_utils_strsplit_set*() to nm_strsplit_set*() 2021-08-02 09:26:47 +02:00
nm-dcb.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-default-daemon.h build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-dhcp-config.c all: rename nm_utils_strdict_*() to nm_strdict_*() 2021-08-02 09:26:48 +02:00
nm-dhcp-config.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-dispatcher.c dispatcher: rename NM_DISPATCHER_ACTION_DHCP_CHANGE_X enums 2021-08-05 14:59:17 +02:00
nm-dispatcher.h dispatcher: rename NM_DISPATCHER_ACTION_DHCP_CHANGE_X enums 2021-08-05 14:59:17 +02:00
nm-firewall-utils.c firewall/nftables: only configure "ip" address familiar for masquerading 2021-07-15 15:14:58 +02:00
nm-firewall-utils.h firewall: add special firewall-backend "none" 2021-05-14 11:41:33 +02:00
nm-firewalld-manager.c firewalld: listen to Reloaded signal and reconfigure firewall zones 2021-08-06 14:35:35 +02:00
nm-firewalld-manager.h firewalld: listen to Reloaded signal and reconfigure firewall zones 2021-08-06 14:35:35 +02:00
nm-hostname-manager.c clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-hostname-manager.h core,glib-aux: move nm_hostname_manager_validate_hostname() to shared-utils 2021-06-28 14:32:05 +02:00
nm-iface-helper.c dhcp: replace NMDhcpClient's signals with "notify" and one notify data argument 2021-08-11 14:17:24 +02:00
nm-ip-config.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-ip-config.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-ip4-config.c all: drop unnecessary casts from nm_utils_strv_find_first() 2021-07-29 09:33:50 +02: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 core: add nm_ip_config_find_first_address() 2021-06-21 10:08:27 +02:00
nm-ip6-config.h core: add nm_ip_config_find_first_address() 2021-06-21 10:08:27 +02:00
nm-keep-alive.c build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-keep-alive.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-l3-config-data.c l3cfg: set NMIPConfigSource for NML3ConfigData at construct time 2021-08-03 20:36:08 +02:00
nm-l3-config-data.h l3cfg: set NMIPConfigSource for NML3ConfigData at construct time 2021-08-03 20:36:08 +02:00
nm-l3-ipv4ll.c l3cfg: set NMIPConfigSource for NML3ConfigData at construct time 2021-08-03 20:36:08 +02:00
nm-l3-ipv4ll.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-l3cfg.c l3cfg: add nm_l3cfg_remove_config_all_dirty() for removing dirty configs 2021-08-05 14:59:19 +02:00
nm-l3cfg.h l3cfg: add nm_l3cfg_remove_config_all_dirty() for removing dirty configs 2021-08-05 14:59:19 +02:00
nm-manager.c all: use G_CALLBACK() macro instead of plain cast 2021-08-05 14:59:11 +02:00
nm-manager.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-netns.c glib-aux/trivial: rename nm_{pint,puint32}_equals() to nm_\1_equal() 2021-05-27 09:56:40 +02:00
nm-netns.h platform: move more platform code to src/libnm-platform/ 2021-03-05 11:27:16 +01:00
nm-pacrunner-manager.c l3cfg: add proxy properties to NML3ConfigData 2021-05-27 09:56:44 +02:00
nm-pacrunner-manager.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-policy.c firewalld: listen to Reloaded signal and reconfigure firewall zones 2021-08-06 14:35:35 +02:00
nm-policy.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-proxy-config.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-proxy-config.h l3cfg: add proxy properties to NML3ConfigData 2021-05-27 09:56:44 +02:00
nm-rfkill-manager.c build: move "shared/nm-{base,udev-aux}" to "src/libnm-{base,udev-aux}" 2021-02-24 12:48:19 +01:00
nm-rfkill-manager.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-session-monitor.c clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-session-monitor.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-sleep-monitor.c clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-sleep-monitor.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-sudo-call.c core: get file descriptor to ovsdb unix socket from nm-sudo 2021-07-26 15:31:46 +02:00
nm-sudo-call.h core: get file descriptor to ovsdb unix socket from nm-sudo 2021-07-26 15:31:46 +02:00
nm-test-utils-core.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-types.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
org.freedesktop.NetworkManager.conf all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00