Fixed handling of bridge devices

This commit is contained in:
Daniel P. Berrange 2007-06-07 18:21:58 +00:00
parent 80b7a7ab4f
commit f404609120
6 changed files with 20 additions and 2 deletions

View File

@ -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

View 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])

View File

@ -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" ]

View 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>

View File

@ -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" ]

View 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>