]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
virsh attach-interface: Allow macvtap hotplug
authorMichal Privoznik <mprivozn@redhat.com>
Mon, 9 Feb 2015 15:17:51 +0000 (16:17 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 13 Feb 2015 08:33:12 +0000 (09:33 +0100)
Our hotplug code supports macvtap insertion to guests. However, we
somehow forgot about 'attach-interface' (which tries to build XML from
passed arguments and use virDomainAttachDeviceFlags()).
New type is accessible under 'direct' type, to keep the same type as
used in domain XML.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
tools/virsh-domain.c
tools/virsh.pod

index 66f17922a26cadbb1cbaa218066629e7147f2d73..dc4a86344683b39afed520e9289bc692a1be75e3 100644 (file)
@@ -984,6 +984,9 @@ cmdAttachInterface(vshControl *ctl, const vshCmd *cmd)
         virBufferAsprintf(&buf, "<source %s='%s'/>\n",
                           virDomainNetTypeToString(typ), source);
         break;
+    case VIR_DOMAIN_NET_TYPE_DIRECT:
+        virBufferAsprintf(&buf, "<source dev='%s'/>\n", source);
+        break;
 
     case VIR_DOMAIN_NET_TYPE_USER:
     case VIR_DOMAIN_NET_TYPE_ETHERNET:
@@ -992,7 +995,6 @@ cmdAttachInterface(vshControl *ctl, const vshCmd *cmd)
     case VIR_DOMAIN_NET_TYPE_CLIENT:
     case VIR_DOMAIN_NET_TYPE_MCAST:
     case VIR_DOMAIN_NET_TYPE_INTERNAL:
-    case VIR_DOMAIN_NET_TYPE_DIRECT:
     case VIR_DOMAIN_NET_TYPE_HOSTDEV:
     case VIR_DOMAIN_NET_TYPE_LAST:
         vshError(ctl, _("No support for %s in command 'attach-interface'"),
index a3f527fe7286a1b9807a5075d26766d3b662ee41..50de32c3e8e7b41bfe4784bea05ef9e1ea7f4394 100644 (file)
@@ -2391,12 +2391,14 @@ Likewise, I<--shareable> is an alias for I<--mode shareable>.
 [I<--target target>] [I<--mac mac>] [I<--script script>] [I<--model model>]
 [I<--config>] [I<--inbound average,peak,burst>] [I<--outbound average,peak,burst>]
 
-Attach a new network interface to the domain.  I<type> can be either
-I<network> to indicate connection via a libvirt virtual network or
-I<bridge> to indicate connection via a bridge device on the host.
-I<source> indicates the source of the connection (either the name of a
-network, or of a bridge device).  I<target> is used to specify the
-tap/macvtap device to be used to connect the domain to the
+Attach a new network interface to the domain.  I<type> can be
+I<network> to indicate connection via a libvirt virtual network, or
+I<bridge> to indicate connection via a bridge device on the host, or
+I<direct> to indicate connection directly to one of the host's network
+interfaces or bridges.  I<source> indicates the source of the
+connection (the name of a network, or of a bridge device, or the
+host's network interfaces or bridges).  I<target> is used to specify
+the tap/macvtap device to be used to connect the domain to the
 source. Names starting with 'vnet' are considered as auto-generated
 and are blanked out/regenerated each time the interface is attached.
 I<mac> specifies the MAC address of the network interface; if a MAC