From f4046091208aec57ddeccb2023b7b4539ff9dd45 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Thu, 7 Jun 2007 18:21:58 +0000 Subject: [PATCH] Fixed handling of bridge devices --- ChangeLog | 7 +++++++ src/xm_internal.c | 9 +++++++++ tests/xmconfigdata/test-fullvirt-new-cdrom.cfg | 2 +- tests/xmconfigdata/test-fullvirt-new-cdrom.xml | 1 + tests/xmconfigdata/test-fullvirt-old-cdrom.cfg | 2 +- tests/xmconfigdata/test-fullvirt-old-cdrom.xml | 1 + 6 files changed, 20 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1d504acd0f..de2ce2841f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Thu Jun 7 14:20:30 EST 2007 Daniel Berrange + + * 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 * autobuild.sh: Ensure build fails if tests fail diff --git a/src/xm_internal.c b/src/xm_internal.c index 8bd7db71af..da391a5aaa 100644 --- a/src/xm_internal.c +++ b/src/xm_internal.c @@ -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, " \n", -1); if (mac[0]) virBufferVSprintf(buf, " \n", mac); + if (type == 1 && bridge[0]) + virBufferVSprintf(buf, " \n", bridge); if (script[0]) virBufferVSprintf(buf, "