[Dnsmasq-discuss] UEFI HTTP boot on IPv6
Geert Stappers
stappers at stappers.nl
Mon Dec 20 08:31:09 UTC 2021
On Sun, Dec 19, 2021 at 06:22:05PM +0000, Juan Orti via Dnsmasq-discuss wrote:
> Hi,
>
> I'm trying to configure dnsmasq 2.86 to do UEFI HTTP boot on IPv6,
> but I'm having trouble to configure the DHCPv6 option 16 (Vendor class).
>
> The UEFI specification says that the OPTION_VENDOR_CLASS parameter
> in option 16 must be set to "HTTPClient" [1], but DHCPv6 requires an
> additional enterprise-number in this option [2].
>
> I've been trying to pass the enterprise-number + vendor-class-data
> as hex, but it's always interpreted as a string. The only way I was
> able to make it work is by padding "HTTPClient" with some number,
> in this case the Red Hat enterprise-number:
>
> dhcp-option-force=tag:efi64-http,option6:16,2312HTTPClient
>
> That sends this hex data, which has an invalid enterprise number,
> but at least it works:
>
> option: 00 10
> lenght: 00 10
> enterprise-number: 00 0e 32 33
> vendor-class-data: 48 54 54 50 43 6c 69 65 6e 74
>
> Why I cannot use an hex value in this option?
> I've tried this but the value is always interpreted as a string:
>
> dhcp-option-force=tag:efi64-http,option6:16,32:33:31:32:48:54:54:50:43:6c:69:65:6e:74
>
|$ grep -e :..:..:..: dnsmasq.8
|.B --dhcp-host=00:20:e0:3b:13:af,wap,infinite
|the machine with hardware address 00:20:e0:3b:13:af the name wap, and
|.B --dhcp-host=id:01:02:03:04,.....
|.B --dhcp-host=00:20:e0:3b:13:af,ignore
|.B --dhcp-host=00:20:e0:3b:13:*,ignore
|.B --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4
|.B --dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2
|it will have the network type prepended, eg "06-01:23:45:67:89:ab" for
> Am I missing something?
Yes
> this looks overly complicated compared to DHCPv4 in which I just
> use "option:vendor-class,HTTPClient".
Quoting the manual page of dnsmasq
Encapsulated Vendor-class options may also be
specified (IPv4 only) using --dhcp-option: for instance
--dhcp-option=vendor:PXEClient,1,0.0.0.0 sends the encapsulated
vendor class-specific option "mftp-address=0.0.0.0" to any
client whose vendor-class matches "PXEClient".
I think the " (IPv4 only) " implies DHCPv6 is not DHCP.
> Thanks.
Thanks for what? (to be read as "Feel free to do a follow-up" :-)
Groeten
Geert Stappers
[1] https://uefi.org/sites/default/files/resources/UEFI_Spec_2_9_2021_03_18.pdf
[2] https://datatracker.ietf.org/doc/html/rfc3315#section-22.16
--
Silence is hard to parse
More information about the Dnsmasq-discuss
mailing list