From 8aab959bed7d75b5a1ae037babfdde92c1818d31 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 5 Dec 2013 03:18:59 +0000 Subject: [dhcpv6] Use DUID-UUID form of client DUID Use the system UUID to generate the client DUID-UUID as per RFC 6355. Signed-off-by: Michael Brown --- src/include/ipxe/dhcpv6.h | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'src/include/ipxe') diff --git a/src/include/ipxe/dhcpv6.h b/src/include/ipxe/dhcpv6.h index 70cccf0ba..57758e516 100644 --- a/src/include/ipxe/dhcpv6.h +++ b/src/include/ipxe/dhcpv6.h @@ -11,6 +11,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include #include +#include /** DHCPv6 server port */ #define DHCPV6_SERVER_PORT 547 @@ -31,18 +32,16 @@ struct dhcpv6_option { uint8_t data[0]; } __attribute__ (( packed )); -/** DHCP unique identifier based on link-layer address (DUID-LL) */ -struct dhcpv6_duid_ll { +/** DHCP unique identifier based on UUID (DUID-UUID) */ +struct dhcpv6_duid_uuid { /** Type */ uint16_t type; - /** Hardware type */ - uint16_t htype; - /** Link-layer address */ - uint8_t ll_addr[0]; + /** UUID */ + union uuid uuid; } __attribute__ (( packed )); -/** DHCP unique identifier based on link-layer address (DUID-LL) */ -#define DHCPV6_DUID_LL 3 +/** DHCP unique identifier based on UUID (DUID-UUID) */ +#define DHCPV6_DUID_UUID 4 /** DHCPv6 client or server identifier option */ struct dhcpv6_duid_option { -- cgit v1.2.3-55-g7522