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. --- src/bhyve/bhyve_parse_command.c | 9 ++++++--- tests/bhyveargv2xmldata/bhyveargv2xml-virtio-net.xml | 6 ++++-- tests/bhyveargv2xmldata/bhyveargv2xml-virtio-net4.xml | 3 ++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/bhyve/bhyve_parse_command.c b/src/bhyve/bhyve_parse_command.c index 619004298..5b8712388 100644 --- a/src/bhyve/bhyve_parse_command.c +++ b/src/bhyve/bhyve_parse_command.c @@ -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; diff --git a/tests/bhyveargv2xmldata/bhyveargv2xml-virtio-net.xml b/tests/bhyveargv2xmldata/bhyveargv2xml-virtio-net.xml index 09cc79b92..5895c8c53 100644 --- a/tests/bhyveargv2xmldata/bhyveargv2xml-virtio-net.xml +++ b/tests/bhyveargv2xmldata/bhyveargv2xml-virtio-net.xml @@ -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> diff --git a/tests/bhyveargv2xmldata/bhyveargv2xml-virtio-net4.xml b/tests/bhyveargv2xmldata/bhyveargv2xml-virtio-net4.xml index e1bda46a1..5f1972080 100644 --- a/tests/bhyveargv2xmldata/bhyveargv2xml-virtio-net4.xml +++ b/tests/bhyveargv2xmldata/bhyveargv2xml-virtio-net4.xml @@ -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> -- 2.11.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list