]> xenbits.xensource.com Git - libvirt.git/commitdiff
Move vnet_hdr logic into qemudNetworkIfaceConnect() and export it
authorMark McLoughlin <markmc@redhat.com>
Wed, 22 Jul 2009 19:17:13 +0000 (20:17 +0100)
committerMark McLoughlin <markmc@redhat.com>
Mon, 27 Jul 2009 14:31:51 +0000 (15:31 +0100)
* src/qemu_conf.h: export qemudNetworkIfaceConnect()

* src/qemu_conf.c: move vnet_hdr logic into qemudNetworkIfaceConnect()
  since we need it for hotplug too

src/qemu_conf.c
src/qemu_conf.h

index a9d559e593d66c6ea65fe2a054be06921c21aea3..0bbaeb1e57e9eaee36b99d259f4f5df2ad006cef 100644 (file)
@@ -1014,15 +1014,16 @@ int qemudExtractVersion(virConnectPtr conn,
 }
 
 
-static int
+int
 qemudNetworkIfaceConnect(virConnectPtr conn,
                          struct qemud_driver *driver,
                          virDomainNetDefPtr net,
-                         int vnet_hdr)
+                         int qemuCmdFlags)
 {
     char *brname;
     int err;
     int tapfd = -1;
+    int vnet_hdr = 0;
 
     if (net->type == VIR_DOMAIN_NET_TYPE_NETWORK) {
         virNetworkPtr network = virNetworkLookupByName(conn,
@@ -1062,6 +1063,10 @@ qemudNetworkIfaceConnect(virConnectPtr conn,
         return -1;
     }
 
+    if (qemuCmdFlags & QEMUD_CMD_FLAG_VNET_HDR &&
+        net->model && STREQ(net->model, "virtio"))
+        vnet_hdr = 1;
+
     if ((err = brAddTap(driver->brctl, brname,
                         &net->ifname, vnet_hdr, &tapfd))) {
         if (errno == ENOTSUP) {
@@ -1816,13 +1821,7 @@ int qemudBuildCommandLine(virConnectPtr conn,
 
             if (net->type == VIR_DOMAIN_NET_TYPE_NETWORK ||
                 net->type == VIR_DOMAIN_NET_TYPE_BRIDGE) {
-                int vnet_hdr = 0;
-
-                if (qemuCmdFlags & QEMUD_CMD_FLAG_VNET_HDR &&
-                    net->model && STREQ(net->model, "virtio"))
-                    vnet_hdr = 1;
-
-                tapfd = qemudNetworkIfaceConnect(conn, driver, net, vnet_hdr);
+                tapfd = qemudNetworkIfaceConnect(conn, driver, net, qemuCmdFlags);
                 if (tapfd < 0)
                     goto error;
 
index ad68e317faf08a04e0be76a318adcf90beff480e..a68e236d70cc75497036264f32e2520693690e0a 100644 (file)
@@ -165,6 +165,11 @@ int         qemuBuildNicStr             (virConnectPtr conn,
                                          int vlan,
                                          char **str);
 
+int         qemudNetworkIfaceConnect    (virConnectPtr conn,
+                                         struct qemud_driver *driver,
+                                         virDomainNetDefPtr net,
+                                         int qemuCmdFlags);
+
 int         qemuAssignNetNames          (virDomainDefPtr def,
                                          virDomainNetDefPtr net);