Daniel P. Berrange wrote:
On Sat, Mar 15, 2014 at 07:27:35PM +0400, Roman Bogorodskiy wrote:
> Addition of the hostbridge device was mistakenly placed to
> bhyveBuildNetArgStr(). This could result in hostbridge device not being
> added to the commandline if there are no network devices specified, but
> hostbridge device should be added unconditionally.
>
> Fix by placing it to virBhyveProcessBuildBhyveCmd().
> ---
> src/bhyve/bhyve_command.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c
> index 2ec97fc..9fc68ae 100644
> --- a/src/bhyve/bhyve_command.c
> +++ b/src/bhyve/bhyve_command.c
> @@ -173,7 +173,6 @@ bhyveBuildNetArgStr(const virDomainDef *def, virCommandPtr cmd)
> return -1;
> }
>
> - virCommandAddArgList(cmd, "-s", "0:0,hostbridge", NULL);
> virCommandAddArg(cmd, "-s");
> virCommandAddArgFormat(cmd, "1:0,virtio-net,%s", realifname);
>
> @@ -300,6 +299,7 @@ virBhyveProcessBuildBhyveCmd(bhyveConnPtr driver
ATTRIBUTE_UNUSED,
> virCommandAddArg(cmd, "-H"); /* vmexit from guest on hlt */
> virCommandAddArg(cmd, "-P"); /* vmexit from guest on pause */
>
> + virCommandAddArgList(cmd, "-s", "0:0,hostbridge", NULL);
> /* Devices */
> if (bhyveBuildNetArgStr(vm->def, cmd) < 0)
> goto error;
ACK, though I think this rather suggests it is time to create a unit
test todo xml -> argv conversion, eg copy idea of qemuxml2argvtest.c
Pushed, thanks!
Added a unit test for that to my todo list.
Roman Bogorodskiy