From 6d8b20ce85aae6d0a1de38d33e3985197cc443bf Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Wed, 15 Nov 2006 00:38:13 +0000 Subject: [PATCH] Added support for non-bridged networking --- ChangeLog | 11 +++++ src/xend_internal.c | 47 +++++++++---------- src/xml.c | 13 ++++- .../sexpr2xmldata/sexpr2xml-net-bridged.sexpr | 2 + tests/sexpr2xmldata/sexpr2xml-net-bridged.xml | 27 +++++++++++ .../sexpr2xmldata/sexpr2xml-net-routed.sexpr | 2 + tests/sexpr2xmldata/sexpr2xml-net-routed.xml | 27 +++++++++++ tests/sexpr2xmltest.c | 21 +++++++++ .../xml2sexprdata/xml2sexpr-net-bridged.sexpr | 1 + tests/xml2sexprdata/xml2sexpr-net-bridged.xml | 29 ++++++++++++ .../xml2sexprdata/xml2sexpr-net-routed.sexpr | 1 + tests/xml2sexprdata/xml2sexpr-net-routed.xml | 30 ++++++++++++ tests/xml2sexprtest.c | 22 +++++++++ 13 files changed, 207 insertions(+), 26 deletions(-) create mode 100644 tests/sexpr2xmldata/sexpr2xml-net-bridged.sexpr create mode 100644 tests/sexpr2xmldata/sexpr2xml-net-bridged.xml create mode 100644 tests/sexpr2xmldata/sexpr2xml-net-routed.sexpr create mode 100644 tests/sexpr2xmldata/sexpr2xml-net-routed.xml create mode 100644 tests/xml2sexprdata/xml2sexpr-net-bridged.sexpr create mode 100644 tests/xml2sexprdata/xml2sexpr-net-bridged.xml create mode 100644 tests/xml2sexprdata/xml2sexpr-net-routed.sexpr create mode 100644 tests/xml2sexprdata/xml2sexpr-net-routed.xml diff --git a/ChangeLog b/ChangeLog index 255d8f0f4c..0084b239d9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +Tue Nov 14 18:42:01 EST 2006 Daniel Berrange + + * src/xend_internal.c: Added support for parsing non-bridge style + networking configs for guests. + * src/xml.c: Ensure the element gets serialized to + the SEXPR for non-bridged networks. + * tests/xml2sexprtest.c, tests/sexpr2xmltest.c: Added new tests + covering different networking configs + * tests/xml2sexprdata/, tests/sexpr2xmldata/: Added more data + files for new test cases + Mon Nov 13 17:18:00 CET 2006 Daniel Veillard * src/xend_internal.c src/xml.c: fix for shareable drive support diff --git a/src/xend_internal.c b/src/xend_internal.c index 990d8a0550..5fb24c4f3c 100644 --- a/src/xend_internal.c +++ b/src/xend_internal.c @@ -1700,38 +1700,35 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root, int xendConfigVersi if (drvType) free(drvType); } else if (sexpr_lookup(node, "device/vif")) { - const char *tmp2; - - tmp = sexpr_node(node, "device/vif/bridge"); + char *tmp2; tmp2 = sexpr_node(node, "device/vif/script"); - if ((tmp != NULL) || (strstr(tmp2, "bridge"))) { + if (tmp2 && strstr(tmp2, "bridge")) { virBufferVSprintf(&buf, " \n"); + tmp = sexpr_node(node, "device/vif/bridge"); if (tmp != NULL) virBufferVSprintf(&buf, " \n", tmp); - tmp = sexpr_node(node, "device/vif/vifname"); - if (tmp != NULL) - virBufferVSprintf(&buf, " \n", - tmp); - tmp = sexpr_node(node, "device/vif/mac"); - if (tmp != NULL) - virBufferVSprintf(&buf, " \n", - tmp); - tmp = sexpr_node(node, "device/vif/ip"); - if (tmp != NULL) - virBufferVSprintf(&buf, " \n", - tmp); - if (tmp2 != NULL) - virBufferVSprintf(&buf, "