NetworkManager/src/dhcp-manager
Dan Williams 140ebbbf89 dhcp: generate DUID-UUID from /etc/machine-id (bgo #691885)
DHCPv6 RFCs require the DUID to be constant over time and to
be used as a permanent identifiers of the machine.  This precludes
using a network interface MAC address since the MAC address may
change, and there may be more than one network interface installed.

Storing the DUID causes problems when an OS image is cloned between
virtual or physical machines because then the saved DUID is no longer
unique.

To fix all these issues, generate the DUID from the machine's hashed
machine-id, which is already a unique identifier of the machine and
will always be present because dbus requires it, and NM requires
dbus.  It is assumed administrators will change the machine-id when
cloning an OS image; thus they only have to update one file, not
two (machine-id and the stored DUID).

Administrators may still override the machine-id-derived DUID by
setting a DUID in the default dhclient config file or the
interface-specific dhclient config files.

dhclient no longer saves a generated DUID to the config files,
because the default DUID will always be regenerated from
the machine-id on startup and thus always stable.
2013-02-07 12:38:58 -06:00
..
tests dhclient: add testcases for reading DUIDs from leasefiles 2013-01-29 10:18:42 -06:00
Makefile.am dhcp: generate DUID-UUID from /etc/machine-id (bgo #691885) 2013-02-07 12:38:58 -06:00
nm-dhcp-client.c dhcp: generate DUID-UUID from /etc/machine-id (bgo #691885) 2013-02-07 12:38:58 -06:00
nm-dhcp-client.h dhcp: add generic DUID infrastructure 2013-01-29 10:16:45 -06:00
nm-dhcp-dhclient-utils.c dhclient: save DUID to dhclient leasefiles when required 2013-01-29 10:18:42 -06:00
nm-dhcp-dhclient-utils.h dhclient: save DUID to dhclient leasefiles when required 2013-01-29 10:18:42 -06:00
nm-dhcp-dhclient.c dhcp: generate DUID-UUID from /etc/machine-id (bgo #691885) 2013-02-07 12:38:58 -06:00
nm-dhcp-dhclient.h dhcp: store NetworkManager-specific dhclient leases in /var/lib/NetworkManager/ 2012-11-16 15:27:22 -06:00
nm-dhcp-dhcpcd.c dhcp: add generic DUID infrastructure 2013-01-29 10:16:45 -06:00
nm-dhcp-dhcpcd.h dhcp: store NetworkManager-specific dhclient leases in /var/lib/NetworkManager/ 2012-11-16 15:27:22 -06:00
nm-dhcp-manager.c dhcp: pass device hardware address to DHCP 2013-01-29 10:07:54 -06:00
nm-dhcp-manager.h dhcp: pass device hardware address to DHCP 2013-01-29 10:07:54 -06:00