}
break;
case VIR_DOMAIN_NET_TYPE_NETWORK:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Unexpectedly found type=network for actual NIC type"));
- goto cleanup;
+ {
+ if (!(conn = virConnectOpen("xen:///system")))
+ goto cleanup;
+
+ if (!(network =
+ virNetworkLookupByName(conn, l_nic->data.network.name))) {
+ goto cleanup;
+ }
+
+ if (l_nic->guestIP.nips > 0) {
+ x_nic->ip = xenMakeIPList(&l_nic->guestIP);
+ if (!x_nic->ip)
+ goto cleanup;
+ }
+ if (!(x_nic->bridge = virNetworkGetBridgeName(network)))
+ goto cleanup;
+ break;
+ }
case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
case VIR_DOMAIN_NET_TYPE_USER:
case VIR_DOMAIN_NET_TYPE_SERVER:
actualType = virDomainNetGetActualType(net);
switch (actualType) {
- case VIR_DOMAIN_NET_TYPE_BRIDGE: {
+ case VIR_DOMAIN_NET_TYPE_BRIDGE:
+ case VIR_DOMAIN_NET_TYPE_NETWORK: {
const char *brname = virDomainNetGetActualBridgeName(net);
if (!brname) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
if (!(veth = virLXCProcessSetupInterfaceDirect(conn, vm->def, net)))
goto cleanup;
} break;
- case VIR_DOMAIN_NET_TYPE_NETWORK:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Unexpectedly found type=network for actual NIC type"));
- goto cleanup;
case VIR_DOMAIN_NET_TYPE_USER:
case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
case VIR_DOMAIN_NET_TYPE_SERVER:
} else if (veth) {
switch (actualType) {
case VIR_DOMAIN_NET_TYPE_BRIDGE:
+ case VIR_DOMAIN_NET_TYPE_NETWORK:
case VIR_DOMAIN_NET_TYPE_ETHERNET:
ignore_value(virNetDevVethDelete(veth));
break;
ignore_value(virNetDevMacVLanDelete(veth));
break;
- case VIR_DOMAIN_NET_TYPE_NETWORK:
case VIR_DOMAIN_NET_TYPE_USER:
case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
case VIR_DOMAIN_NET_TYPE_SERVER:
switch (actualType) {
case VIR_DOMAIN_NET_TYPE_BRIDGE:
+ case VIR_DOMAIN_NET_TYPE_NETWORK:
case VIR_DOMAIN_NET_TYPE_ETHERNET:
if (virNetDevVethDelete(detach->ifname) < 0) {
virDomainAuditNet(vm, detach, NULL, "detach", false);
}
break;
- case VIR_DOMAIN_NET_TYPE_NETWORK:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Unexpectedly found type=network for actual NIC type"));
- goto cleanup;
-
/* It'd be nice to support this, but with macvlan
* once assigned to a container nothing exists on
* the host side. Further the container can change
}
switch (actualType) {
+ case VIR_DOMAIN_NET_TYPE_NETWORK:
case VIR_DOMAIN_NET_TYPE_BRIDGE:
tapfdSize = net->driver.virtio.queues;
if (!tapfdSize)
break;
- case VIR_DOMAIN_NET_TYPE_NETWORK:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Unexpectedly found type=network for actual NIC type"));
- goto cleanup;
-
case VIR_DOMAIN_NET_TYPE_USER:
case VIR_DOMAIN_NET_TYPE_SERVER:
case VIR_DOMAIN_NET_TYPE_CLIENT:
*/
switch ((virDomainNetType)actualType) {
case VIR_DOMAIN_NET_TYPE_ETHERNET:
+ case VIR_DOMAIN_NET_TYPE_NETWORK:
case VIR_DOMAIN_NET_TYPE_BRIDGE:
case VIR_DOMAIN_NET_TYPE_DIRECT:
{
break;
}
- case VIR_DOMAIN_NET_TYPE_NETWORK:
case VIR_DOMAIN_NET_TYPE_USER:
case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
case VIR_DOMAIN_NET_TYPE_SERVER:
switch (actualType) {
case VIR_DOMAIN_NET_TYPE_BRIDGE:
+ case VIR_DOMAIN_NET_TYPE_NETWORK:
tapfdSize = vhostfdSize = net->driver.virtio.queues;
if (!tapfdSize)
tapfdSize = vhostfdSize = 1;
/* No preparation needed. */
break;
- case VIR_DOMAIN_NET_TYPE_NETWORK:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Unexpectedly found type=network for actual NIC type"));
- goto cleanup;
-
case VIR_DOMAIN_NET_TYPE_SERVER:
case VIR_DOMAIN_NET_TYPE_CLIENT:
case VIR_DOMAIN_NET_TYPE_MCAST:
switch (virDomainNetGetActualType(newdev)) {
case VIR_DOMAIN_NET_TYPE_ETHERNET:
case VIR_DOMAIN_NET_TYPE_BRIDGE:
- break;
-
case VIR_DOMAIN_NET_TYPE_NETWORK:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Unexpectedly found type=network for actual NIC type"));
- return -1;
-
+ break;
case VIR_DOMAIN_NET_TYPE_USER:
case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
case VIR_DOMAIN_NET_TYPE_SERVER:
switch (actualType) {
case VIR_DOMAIN_NET_TYPE_BRIDGE:
+ case VIR_DOMAIN_NET_TYPE_NETWORK:
if (virDomainNetGetActualBridgeMACTableManager(net)
== VIR_NETWORK_BRIDGE_MAC_TABLE_MANAGER_LIBVIRT) {
/* libvirt is managing the FDB of the bridge this device
break;
- case VIR_DOMAIN_NET_TYPE_NETWORK:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Unexpectedly found type=network for actual NIC type"));
- goto cleanup;
-
case VIR_DOMAIN_NET_TYPE_USER:
case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
case VIR_DOMAIN_NET_TYPE_SERVER:
switch (actualType) {
case VIR_DOMAIN_NET_TYPE_BRIDGE:
+ case VIR_DOMAIN_NET_TYPE_NETWORK:
if (virDomainNetGetActualBridgeMACTableManager(net)
== VIR_NETWORK_BRIDGE_MAC_TABLE_MANAGER_LIBVIRT) {
/* remove the FDB entries that were added during
break;
}
- case VIR_DOMAIN_NET_TYPE_NETWORK:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Unexpectedly found type=network for actual NIC type"));
- goto cleanup;
-
case VIR_DOMAIN_NET_TYPE_ETHERNET:
case VIR_DOMAIN_NET_TYPE_USER:
case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
}
break;
case VIR_DOMAIN_NET_TYPE_BRIDGE:
+ case VIR_DOMAIN_NET_TYPE_NETWORK:
#ifdef VIR_NETDEV_TAP_REQUIRE_MANUAL_CLEANUP
if (!(vport && vport->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH))
ignore_value(virNetDevTapDelete(net->ifname, net->backend.tap));
#endif
break;
- case VIR_DOMAIN_NET_TYPE_NETWORK:
- VIR_WARN("Unexpectedly found type=network for actual NIC type");
- break;
-
case VIR_DOMAIN_NET_TYPE_USER:
case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
case VIR_DOMAIN_NET_TYPE_SERVER: