NetworkManager/src/core
Beniamino Galvani 5f9921182e initrd: handle ip=dhcp,dhcp6 specially
With "ip=dhcp,dhcp6" the legacy dracut module does first DHCPv4 and
then IPv6 autoconf (even if DHCPv4 succeeded) [1]. In this way, there
is the guarantee that an address family is always configured if the
network supports it.

Currently "ip=dhcp,dhcp6" is treated a bit differently by NM, which
generates a connection with only ipv4.required-timeout=20s. Therefore
it's possible that NM in initrd quits (or signals startup-complete)
without an IPv6 even if the network is configured for IPv6.

Make NM's behavior similar to the legacy module by also setting an
ipv6.required-timeout for "ip=dhcp,dhcp6".

Note that if the command line contains "rd.neednet=1" without an "ip="
argument, we still generate a default connection with IPv4 preferred
over IPv6 (i.e. only ipv4.required-timeout set). That's similar to
what the legacy module does [2]. See [3] for a description of
different scenarios for "rd.neednet=1".

[1] https://github.com/dracutdevs/dracut/blob/055/modules.d/35network-legacy/ifup.sh#L459-L484
[2] https://github.com/dracutdevs/dracut/blob/055/modules.d/35network-legacy/ifup.sh#L529-L537
[3] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/729

https://bugzilla.redhat.com/show_bug.cgi?id=1961666
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/994
(cherry picked from commit 28770eb394)
(cherry picked from commit 02adbf5124)
2021-12-01 14:59:52 +01:00
..
devices device: use the 'required-timeout' property from IP setting 2021-09-06 10:56:12 +02:00
dhcp dhcp: fix nm_dhcp_lease_data_parse_cstr() to correctly detect NUL chars 2021-06-04 21:26:40 +02:00
dns core: force emission of DNS_CONFIG_CHANGED signal on SIGUSR1 2021-06-10 18:08:24 +02:00
dnsmasq all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
initrd initrd: handle ip=dhcp,dhcp6 specially 2021-12-01 14:59:52 +01:00
ndisc shared: remove "str" argument from nm_str_buf_reset() 2021-02-11 09:23:06 +01:00
platform platform: preserve IPv6 multicast route added by kernel 2021-09-20 10:38:46 +02:00
ppp all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
settings all: add a new ipv{4,6}.required-timeout property 2021-09-06 10:56:12 +02:00
supplicant supplicant: fix leaking handle in nm_supplicant_manager_create_interface() 2021-06-10 16:03:20 +02:00
systemd all: add "nm-default-systemd{,-shared}.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
tests systemd/tests: avoid using g_free() with buffers allocated with malloc() in _test_unbase64mem_mem() 2021-06-04 21:25:39 +02:00
vpn all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
main-utils.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
main-utils.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
main.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
meson.build libnm: merge libnm-keyfile into libnm-core 2021-02-09 12:38:19 +01:00
NetworkManagerUtils.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
NetworkManagerUtils.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-act-request.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-act-request.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-active-connection.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-active-connection.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-audit-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-audit-manager.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-auth-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-auth-manager.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-auth-utils.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-auth-utils.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +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-04 09:45:55 +01:00
nm-checkpoint.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.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-config-data.c core: fix leak in _config_data_get_main_auth_polkit() 2021-06-04 20:33:45 +02:00
nm-config-data.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-config.c libnm: merge libnm-keyfile into libnm-core 2021-02-09 12:38:19 +01:00
nm-config.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-connectivity.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-connectivity.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-core-utils.c wifi: fix parsing Microsoft Network Cost IE 2021-06-04 20:52:25 +02:00
nm-core-utils.h all: drop unnecessary cast of g_object_new() 2021-02-08 17:02:09 +01:00
nm-dbus-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-dbus-manager.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-dbus-object.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-dbus-object.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-dbus-utils.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-dbus-utils.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-dcb.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-dcb.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-default-daemon.h all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-dhcp-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-dhcp-config.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-dispatcher.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-dispatcher.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-firewall-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-firewall-manager.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-hostname-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-hostname-manager.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-iface-helper.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.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-04 09:45:55 +01:00
nm-ip4-config.c core: don't add dependent local route for addresses 2021-03-24 14:24:54 +01:00
nm-ip4-config.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-ip6-config.c core: don't add dependent local route for addresses 2021-03-24 14:24:54 +01:00
nm-ip6-config.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-keep-alive.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-keep-alive.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-l3-config-data.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-l3-config-data.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-l3-ipv4ll.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-l3-ipv4ll.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-l3cfg.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-l3cfg.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-manager.c manager: fix assertion failure in active_connection_find() 2021-06-02 15:39:13 +02:00
nm-manager.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-netns.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-netns.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-pacrunner-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-pacrunner-manager.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-policy.c policy: prefer IPv4 to determine the hostname 2021-06-21 09:00:49 +02:00
nm-policy.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-proxy-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-proxy-config.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-rfkill-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-rfkill-manager.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-session-monitor.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-session-monitor.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-sleep-monitor.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-sleep-monitor.h all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00
nm-test-utils-core.h libnm: merge libnm-keyfile into libnm-core 2021-02-09 12:38:19 +01:00
nm-types.h core: add NM_IP_ROUTE_TABLE_SYNC_MODE_ALL_PRUNE mode 2021-03-24 14:24:53 +01:00
org.freedesktop.NetworkManager.conf all: move "src/" directory to "src/core/" 2021-02-04 09:45:55 +01:00