diff options
| author | Michael Brown | 2013-12-05 04:18:59 +0100 |
|---|---|---|
| committer | Michael Brown | 2013-12-05 04:18:59 +0100 |
| commit | 8aab959bed7d75b5a1ae037babfdde92c1818d31 (patch) | |
| tree | 2ad7788d97af9beeb25a90e19daec46bff5b1c07 /src/include/ipxe | |
| parent | [linux] Provide access to SMBIOS via /dev/mem (diff) | |
| download | ipxe-8aab959bed7d75b5a1ae037babfdde92c1818d31.tar.gz ipxe-8aab959bed7d75b5a1ae037babfdde92c1818d31.tar.xz ipxe-8aab959bed7d75b5a1ae037babfdde92c1818d31.zip | |
[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 <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe')
| -rw-r--r-- | src/include/ipxe/dhcpv6.h | 15 |
1 files changed, 7 insertions, 8 deletions
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 <stdint.h> #include <ipxe/in.h> +#include <ipxe/uuid.h> /** 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 { |
