bhyve: fix interface type handling for argv2xml

When generating a domain XML from native command (i.e. via
the connectDomainXMLFromNative call), we should use
interface type 'bridge' rather than 'ethernet' because we only
support bridges at this point.

As we don't have bridge name explicitly specified on the command line,
just use 'virbr0' as a default.
This commit is contained in:
Roman Bogorodskiy 2017-01-06 21:06:23 +04:00
parent 5fff7b99db
commit 6a9c7468de
3 changed files with 12 additions and 6 deletions

View File

@ -507,9 +507,12 @@ bhyveParsePCINet(virDomainDefPtr def,
if (VIR_ALLOC(net) < 0)
goto cleanup;
/* Let's just assume it is VIR_DOMAIN_NET_TYPE_ETHERNET, it could also be
* a bridge, but this is the most generic option. */
net->type = VIR_DOMAIN_NET_TYPE_ETHERNET;
/* As we only support interface type='bridge' and cannot
* guess the actual bridge name from the command line,
* try to come up with some reasonable defaults */
net->type = VIR_DOMAIN_NET_TYPE_BRIDGE;
if (VIR_STRDUP(net->data.bridge.brname, "virbr0") < 0)
goto error;
net->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI;
net->info.addr.pci.slot = pcislot;

View File

@ -12,13 +12,15 @@
<on_reboot>destroy</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<interface type='ethernet'>
<interface type='bridge'>
<mac address='52:54:00:00:00:00'/>
<source bridge='virbr0'/>
<target dev='tap0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</interface>
<interface type='ethernet'>
<interface type='bridge'>
<mac address='fe:ed:ad:ea:df:15'/>
<source bridge='virbr0'/>
<target dev='tap1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</interface>

View File

@ -12,8 +12,9 @@
<on_reboot>destroy</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<interface type='ethernet'>
<interface type='bridge'>
<mac address='00:00:00:00:00:00'/>
<source bridge='virbr0'/>
<target dev='tap1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</interface>