]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
add domain name in network configurations suport and on OpenVZ config bugfix
authorDaniel Veillard <veillard@redhat.com>
Mon, 8 Sep 2008 12:45:29 +0000 (12:45 +0000)
committerDaniel Veillard <veillard@redhat.com>
Mon, 8 Sep 2008 12:45:29 +0000 (12:45 +0000)
* src/network_conf.c src/network_conf.h src/qemu_driver.c: add
  support for a domain name in network configurations, patch by
  JJ Reynolds with bugfix raised by Dan
* src/openvz_conf.c: fix to small bug in openvzReadConfigParam
  by Evgeniy Sokolov
Daniel

ChangeLog
src/network_conf.c
src/network_conf.h
src/openvz_conf.c
src/qemu_driver.c

index 10860821ce8c0ca5216abcbe3ff9a54ff0711d7b..b47bf02f62bc2be1bab61d723853c886e8931ebb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Mon Sep  8 14:42:23 CEST 2008 Daniel Veillard <veillard@redhat.com>
+
+       * src/network_conf.c src/network_conf.h src/qemu_driver.c: add
+         support for a domain name in network configurations, patch by
+         JJ Reynolds with bugfix raised by Dan
+       * src/openvz_conf.c: fix to small bug in openvzReadConfigParam
+         by Evgeniy Sokolov
+
 Mon Sep  8 13:14:17 BST 2008 Daniel P. Berrange <berrange@redhat.com>
 
        * src/openvz_driver.c: Fix potential NULL dereference
index 2755ca63045a8c67fee054b05e056b3b40e14944..4627fba17c277585e4bfc20aac32630d99572f5e 100644 (file)
@@ -109,6 +109,7 @@ void virNetworkDefFree(virNetworkDefPtr def)
     VIR_FREE(def->ipAddress);
     VIR_FREE(def->network);
     VIR_FREE(def->netmask);
+    VIR_FREE(def->domain);
 
     for (i = 0 ; i < def->nranges && def->ranges ; i++) {
         VIR_FREE(def->ranges[i].start);
@@ -326,6 +327,9 @@ virNetworkDefParseXML(virConnectPtr conn,
         VIR_FREE(tmp);
     }
 
+    /* Parse network domain information */
+    def->domain = virXPathString(conn, "string(./domain[1]/@name)", ctxt);
+
     /* Parse bridge information */
     def->bridge = virXPathString(conn, "string(./bridge[1]/@name)", ctxt);
     tmp = virXPathString(conn, "string(./bridge[1]/@stp)", ctxt);
index 25750a6c41758b5f021cea23923ba210547f182f..7d9490e438b3650537fb513785b6e149fa702340 100644 (file)
@@ -57,6 +57,7 @@ struct _virNetworkDef {
     char *name;
 
     char *bridge;       /* Name of bridge device */
+    char *domain;
     unsigned long delay;   /* Bridge forward delay (ms) */
     int stp : 1; /* Spanning tree protocol */
 
index 25bd10fe69de722f73d044e36830b905a737e924..34c77b1f649712471962d94e8e30b992a9a01a5c 100644 (file)
@@ -298,10 +298,13 @@ openvzReadConfigParam(int vpsid ,const char * param, char *value, int maxlen)
         if (STREQLEN(line, param, strlen(param))) {
             sf = line;
             sf += strlen(param);
-            if (sf[0] == '=' && (token = strtok_r(sf,"\"\t=\n", &saveptr)) != NULL) {
-                strncpy(value, token, maxlen) ;
-                value[maxlen-1] = '\0';
-                found = 1;
+            if (sf[0] == '=' && sf[1] != '\0' ) {
+                sf ++;
+                if ((token = strtok_r(sf,"\"\t\n", &saveptr)) != NULL) {
+                    strncpy(value, token, maxlen) ;
+                    value[maxlen-1] = '\0';
+                    found = 1;
+                }
             }
        }
     }
index 8f8fb613e590b045184b0d8d4c47e237f07d5a81..8cc32bcd69c5ebc740ba25825feea314ef347f33 100644 (file)
@@ -1113,6 +1113,7 @@ qemudBuildDnsmasqArgv(virConnectPtr conn,
         1 + /* --keep-in-foreground */
         1 + /* --strict-order */
         1 + /* --bind-interfaces */
+        (network->def->domain?2:0) + /* --domain name */
         2 + /* --pid-file "" */
         2 + /* --conf-file "" */
         /*2 + *//* --interface virbr0 */
@@ -1144,6 +1145,11 @@ qemudBuildDnsmasqArgv(virConnectPtr conn,
     APPEND_ARG(*argv, i++, "--strict-order");
     APPEND_ARG(*argv, i++, "--bind-interfaces");
 
+    if (network->def->domain) {
+       APPEND_ARG(*argv, i++, "--domain");
+       APPEND_ARG(*argv, i++, network->def->domain);
+    }
+
     APPEND_ARG(*argv, i++, "--pid-file");
     APPEND_ARG(*argv, i++, "");