[dhcpv6] Include vendor class identifier option in DHCPv6 requests
authorMichael Brown <mcb30@ipxe.org>
Mon, 4 Jul 2016 13:08:26 +0000 (14:08 +0100)
committerMichael Brown <mcb30@ipxe.org>
Mon, 4 Jul 2016 13:08:26 +0000 (14:08 +0100)
commitd7f1834b5e57649d003d89bd4c4bd7d7061b62d0
tree49537dc5537886538218fd2cbbf9022e2b798178
parentfda8916c83f320de3f12c9880d177d0f9fa40904
[dhcpv6] Include vendor class identifier option in DHCPv6 requests

RFC3315 defines DHCPv6 option 16 (vendor class identifier) but does
not define any direct relationship with the roughly equivalent DHCPv4
option 60.

The PXE specification predates IPv6, and the UEFI specification is
expectedly vague on the subject.  Examination of the reference EDK2
codebase suggests that the DHCPv6 vendor class identifier will be
formatted in accordance with RFC3315, using a single vendor-class-data
item in which the opaque-data field is the string as would appear in
DHCPv4 option 60.

RFC3315 requires the vendor class identifier to specify an IANA
enterprise number, as a way of disambiguating the vendor-class-data
namespace.  The EDK2 code uses the value 343, described as:

    // TODO: IANA TBD: temporarily using Intel's

Since this "TODO" has been present since at least 2010, it is probably
safe to assume that it has now become a de facto standard.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/include/ipxe/dhcpv6.h
src/net/udp/dhcpv6.c