On Fri, Jan 18, 2019 at 07:41:00PM +0400, Roman Bogorodskiy wrote: > Implement support for passing custom command line arguments > to bhyve using the 'bhyve:commandline' element: > > <bhyve:commandline> > <bhyve:arg value='-newarg'/> > </bhyve:commandline> > > * Define virDomainXMLNamespace for the bhyve driver, which > at this point supports only the 'commandline' element > described above, > * Update command generation code to inject these command line > arguments between driver-generated arguments and the vmname > positional argument. > > Signed-off-by: Roman Bogorodskiy <bogorodskiy@xxxxxxxxx> > --- > docs/schemas/domaincommon.rng | 17 +++ > src/bhyve/bhyve_command.c | 9 ++ > src/bhyve/bhyve_conf.c | 15 +++ > src/bhyve/bhyve_conf.h | 9 ++ > src/bhyve/bhyve_domain.c | 107 +++++++++++++++++- > src/bhyve/bhyve_domain.h | 1 + > .../bhyvexml2argv-commandline.args | 9 ++ > .../bhyvexml2argv-commandline.ldargs | 3 + > .../bhyvexml2argv-commandline.xml | 27 +++++ > tests/bhyvexml2argvtest.c | 1 + > .../bhyvexml2xmlout-commandline.xml | 37 ++++++ > tests/bhyvexml2xmltest.c | 1 + > 12 files changed, 235 insertions(+), 1 deletion(-) > create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-commandline.args > create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-commandline.ldargs > create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-commandline.xml > create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-commandline.xml > diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c > index 84fda08943..a1ae2026a0 100644 > --- a/src/bhyve/bhyve_command.c > +++ b/src/bhyve/bhyve_command.c > @@ -28,6 +28,7 @@ > #include "bhyve_capabilities.h" > #include "bhyve_command.h" > #include "bhyve_domain.h" > +#include "bhyve_conf.h" > #include "bhyve_driver.h" > #include "datatypes.h" > #include "viralloc.h" > @@ -626,6 +627,14 @@ virBhyveProcessBuildBhyveCmd(virConnectPtr conn, > if (bhyveBuildConsoleArgStr(def, cmd) < 0) > goto error; > > + if (def->namespaceData) { > + bhyveDomainCmdlineDefPtr bhyvecmd; > + > + bhyvecmd = def->namespaceData; > + for (i = 0; i < bhyvecmd->num_args; i++) > + virCommandAddArg(cmd, bhyvecmd->args[i]); > + } There should be a VIR_WARN emitted in this block to mark the fact that the guest is booted using command line passthrough feature as that limits supportability of the guest. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list