[Kea-users] KEA 2.1.0, dhcp6, netbooting via HTTPv6 in qemu
Erik Edwards
erik at emedwards.info
Thu Nov 25 01:23:53 UTC 2021
Ah, that explains how the opaque-data is parsed, thank you.
-Erik
------------------------------------------------------------------------
For the list's reference, here is what I used to get the PXE-HTTPv6
netboot to work under qemu-uefi:
// Client-class definition -
// Vendor Class, System Architecture Type, and software revision
(in this case "x64 UEFI HTTP") - think qemu UEFI w/o secure boot.
{ "name": "PXE_uefi-http",
"test": "member('VENDOR_CLASS_HTTPClient:Arch:00016:UNDI:003001')",
"option-data": [
// The web server system is using fedora's version of cobbler,
apache, and python; /httpboot/ can be setup to be any type of alias,
directory, etc.
// bootx64-http.efi is manually created by grub v 2.11's
grub-mkimage including net drivers and
// a hard coded, included grub.cfg that chains to the
webserver's dynamic grub.cfg
{ "name": "bootfile-url", "data": "http://<http web
server ip or dns name>/httpboot/bootx64-http.efi" },
// vendor-class(16), vendor-id: 343 is the intel/qemu/uefi
required number. It only boots with a match of ID and complete string
// the 0021 leading the string is the 2-byte-long, base16,
byte count for the remaining string, the remainder is (base16):
HTTPClient:Arch:00016:UNDI:003001
// This was tested without "lenient-option-parsing" enabled.
{ "name": "vendor-class", "data": "343,
002148545450436C69656E743A417263683A30303031363A554E44493A303033303031" },
{ "code": 60, "data": "Anything here. PXE-UEFI
requires it but grub, as of 2.11, ignores this field." }
] // Closes option-data
} // Close PXE_uefi-http client-class
------------------------------------------------------------------------
> According to the code and the RFC 8415 the vendor-class format is an
> enterprise ID (unsigned 32 bits) followed by tuples so pairs of lengths
> (unsigned 16 bits for v6) and values. Note it is possible to relax
> tuple parsing using the lenient-option-parsing compatibility parameter.
> In the standard definition file the option is defined a a record of
> an unsigned 32 bit integer followed by a binary field so I expect you
> should give the content (after the enterprise ID) as a hexadecimal value
> i.e. encode the tuple yourself.
>
> Regards
>
> Francis Dupont<fdupont at isc.org>
On 11/22/21 06:12, Francis Dupont wrote:
> Erik Edwards writes:
>> { "name": "vendor-class", "data": "HTTPClient" }>
> => IMHO you mean vendor-class-identifier (option 60): there is no option
> named vendor-class in the DHCPv4 option space.
>
> Regards
>
> Francis Dupont<fdupont at isc.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/kea-users/attachments/20211124/25789697/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.isc.org/pipermail/kea-users/attachments/20211124/25789697/attachment.bin>
More information about the Kea-users
mailing list