[WIP] initrd: add new NBFT parser
Summary
initrd: add new NBFT parser
The NVMe Boot Firmware Table (NBFT) is a mechanism of passing context
from a pre-OS Boot environment to an OS runtime, as defined by the
NVM Express Boot Specification. Exposed as an ACPI table it contains
network interface definitions along with NVMe subsystem and namespace
data structures.
This adds new nm-initrd-generator parser that uses libnvme NBFT parser
implementation.
Purpose
This is an important piece of the Boot from NVMe over TCP effort that is supposed to supersede the actual dracut 95nvmf
module. The effort is set to limit dracut involvement in the boot process by using systemd unit automation as much as possible. No input arguments or config necessary, everything is contained in the ACPI NBFT table.
Checklist
-
the subject for all commits is concise and explicative -
the message for all commits explains the reason for the change -
the source is properly formatted -
any relevant documentation is up to date -
you have added unit tests if applicable -
the NEWS file is updated when the change deserves to be mentioned, for example for new features, behavior changes, API deprecations, etc.
TODO
-
add unit tests (based on sample tables available at https://github.com/linux-nvme/libnvme/tree/master/test/nbft/tables) -
add udev rules generator -
VLANs! -
dlopen()
instead of dynamic linking
Edited by Tomáš Bžatek