NetworkManager/src/dhcp
Beniamino Galvani 18c76745f6 dhcp6: don't require a hardware address
The systemd DHCPv6 client requires a hardware address only to
determine the IAID; NM always overrides the IAID with its own and
therefore the hwaddr is not used.

Removing such requirement allows DHCPv6 to run over PPP, which is
useful with DHCPv6-PD to get a prefix from the ISP.

To test this, I set up a server with pppoe-server, radvd and the Wide
DHCPv6 server providing an address and a prefix. On the client, NM was
able to obtain a prefix using both dhcp=dhclient and dhcp=systemd.

Note that if there is no hardware address and you specify
ipv6.dhcp-duid=ll or ipv6.dhcp-iaid=mac, a warning will be emitted and
NM will use a random DUID/IAID.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/478
(cherry picked from commit 76a6a30577)
(cherry picked from commit 905d4eb36e)
2020-07-29 18:26:15 +02:00
..
tests license: Add license using SPDX identifiers to meson build files 2020-02-17 13:16:57 +01:00
meson.build license: Add license using SPDX identifiers to meson build files 2020-02-17 13:16:57 +01:00
nm-dhcp-client-logging.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-dhcp-client.c all: use nm_clear_pointer() instead of g_clear_pointer() 2020-03-23 11:22:38 +01:00
nm-dhcp-client.h device: don't schedule grace timeout if dhcp-timeout is infinity 2020-02-17 14:43:13 +01:00
nm-dhcp-dhclient-utils.c all: use nm_clear_pointer() instead of g_clear_pointer() 2020-03-23 11:22:38 +01:00
nm-dhcp-dhclient-utils.h dhcp: support FQDN flags in the dhclient backend 2019-11-28 17:56:35 +01:00
nm-dhcp-dhclient.c all: drop explicit casts from _GET_PRIVATE() macro calls 2020-02-14 11:04:46 +01:00
nm-dhcp-dhcpcanon.c all: drop explicit casts from _GET_PRIVATE() macro calls 2020-02-14 11:04:46 +01:00
nm-dhcp-dhcpcd.c all: drop explicit casts from _GET_PRIVATE() macro calls 2020-02-14 11:04:46 +01:00
nm-dhcp-helper-api.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-dhcp-helper.c dhcp-helper: retry in case of failure connecting to D-Bus unix socket 2020-04-21 08:57:30 +02:00
nm-dhcp-listener.c all: use nm_clear_pointer() instead of g_clear_pointer() 2020-03-23 11:22:38 +01:00
nm-dhcp-listener.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-dhcp-manager.c dhcp6: don't require a hardware address 2020-07-29 18:26:15 +02:00
nm-dhcp-manager.h dhcp6: don't require a hardware address 2020-07-29 18:26:15 +02:00
nm-dhcp-nettools.c dhcp: clean source on dispatch failure (fix leak) 2020-03-03 09:53:17 +01:00
nm-dhcp-options.c dhcp: don't add server-id option to the parameter request list 2020-01-25 11:37:44 +01:00
nm-dhcp-options.h systemd: add siaddr to lease options 2019-11-18 13:33:03 +01:00
nm-dhcp-systemd.c dhcp6: don't require a hardware address 2020-07-29 18:26:15 +02:00
nm-dhcp-utils.c all: use _nm_utils_inet4_ntop() instead of nm_utils_inet4_ntop() 2020-01-28 11:17:41 +01:00
nm-dhcp-utils.h dhcp: test parsing of domain-search option 2019-12-23 16:19:35 +01:00