]> xenbits.xensource.com Git - libvirt.git/commitdiff
Fixed handling of bridge devices
authorDaniel P. Berrange <berrange@redhat.com>
Thu, 7 Jun 2007 18:21:58 +0000 (18:21 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Thu, 7 Jun 2007 18:21:58 +0000 (18:21 +0000)
ChangeLog
src/xm_internal.c
tests/xmconfigdata/test-fullvirt-new-cdrom.cfg
tests/xmconfigdata/test-fullvirt-new-cdrom.xml
tests/xmconfigdata/test-fullvirt-old-cdrom.cfg
tests/xmconfigdata/test-fullvirt-old-cdrom.xml

index 1d504acd0fb9f54fa85ca637f81d9d23299dc579..de2ce2841f9e05ccc0f134e1318dd6711a05c141 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Thu Jun  7 14:20:30 EST 2007 Daniel Berrange <berrange@redhat.com>
+
+       * src/xm_internal.c: Fixed handling of bridge devices
+       when converting XM configs to XML
+       * tests/xmconfigdata/test-fullvirt-*: Added explicit
+       bridge device to test suite
+
 Thu Jun  7 10:47:30 EST 2007 Daniel Berrange <berrange@redhat.com>
 
        * autobuild.sh: Ensure build fails if tests fail
index 8bd7db71aff76089e5b9b9b141bf1c04061bbb1a..da391a5aaa0a1763c16299651151f2a3f5f68c57 100644 (file)
@@ -824,8 +824,10 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
             char script[PATH_MAX];
             char ip[16];
             char mac[18];
+            char bridge[50];
             char *key;
 
+            bridge[0] = '\0';
             mac[0] = '\0';
             script[0] = '\0';
             ip[0] = '\0';
@@ -849,7 +851,12 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
                     strncpy(mac, data, len);
                     mac[len] = '\0';
                 } else if (!strncmp(key, "bridge=", 7)) {
+                    int len = nextkey ? (nextkey - data) : sizeof(bridge)-1;
                     type = 1;
+                    if (len > (sizeof(bridge)-1))
+                        len = sizeof(bridge)-1;
+                    strncpy(bridge, data, len);
+                    bridge[len] = '\0';
                 } else if (!strncmp(key, "script=", 7)) {
                     int len = nextkey ? (nextkey - data) : PATH_MAX-1;
                     if (len > (PATH_MAX-1))
@@ -879,6 +886,8 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
             virBufferAdd(buf, "    <interface type='bridge'>\n", -1);
             if (mac[0])
                 virBufferVSprintf(buf, "      <mac address='%s'/>\n", mac);
+            if (type == 1 && bridge[0])
+                virBufferVSprintf(buf, "      <source bridge='%s'/>\n", bridge);
             if (script[0])
                 virBufferVSprintf(buf, "      <script path='%s'/>\n", script);
             if (ip[0])
index 8c108658b467faa0d7f67010da865afb3ab5f64c..eacb41dcf8783ed50ccd29fa05a5bb31e7b2fb96 100755 (executable)
@@ -19,4 +19,4 @@ vncunused = 1
 vnclisten = "127.0.0.1"
 vncpasswd = "123poi"
 disk = [ "phy:/dev/HostVG/XenGuest2,hda,w", "file:/root/boot.iso,hdc:cdrom,r" ]
-vif = [ "mac=00:16:3E:66:92:9C,type=ioemu" ]
+vif = [ "mac=00:16:3E:66:92:9C,bridge=xenbr1,type=ioemu" ]
index 84e671a71b7a7986b5f0d47fc4baace4cd60aa0b..a9b001001de74611c18e97a3fb61c0bf68202d8d 100644 (file)
@@ -32,6 +32,7 @@
     </disk>
     <interface type='bridge'>
       <mac address='00:16:3E:66:92:9C'/>
+      <source bridge='xenbr1'/>
     </interface>
     <graphics type='vnc' port='-1' listen='127.0.0.1' passwd='123poi'/>
   </devices>
index 1ea6d4ef2e2a5730f7d84eeec335b31c99e62e84..d0c9c4945a275a16fa254214015f5826ccdb38ed 100755 (executable)
@@ -20,4 +20,4 @@ vncunused = 1
 vnclisten = "127.0.0.1"
 vncpasswd = "123poi"
 disk = [ "phy:/dev/HostVG/XenGuest2,ioemu:hda,w" ]
-vif = [ "mac=00:16:3E:66:92:9C,type=ioemu" ]
+vif = [ "mac=00:16:3E:66:92:9C,bridge=xenbr0,type=ioemu" ]
index 84e671a71b7a7986b5f0d47fc4baace4cd60aa0b..8be689d27117b1c11edd3d379412e57cc1e7a320 100644 (file)
@@ -32,6 +32,7 @@
     </disk>
     <interface type='bridge'>
       <mac address='00:16:3E:66:92:9C'/>
+      <source bridge='xenbr0'/>
     </interface>
     <graphics type='vnc' port='-1' listen='127.0.0.1' passwd='123poi'/>
   </devices>