1 --- a/src/lxc/lxc_driver.c 2011-01-10 11:49:49.000000000 +0100
2 +++ b/src/lxc/lxc_driver.c 2011-01-10 11:50:03.000000000 +0100
4 case VIR_DOMAIN_NET_TYPE_INTERNAL:
5 case VIR_DOMAIN_NET_TYPE_DIRECT:
6 case VIR_DOMAIN_NET_TYPE_LAST:
7 + case VIR_DOMAIN_NET_TYPE_VDE:
11 --- a/src/uml/uml_conf.c 2011-01-10 12:03:54.000000000 +0100
12 +++ b/src/uml/uml_conf.c 2011-01-10 13:26:08.000000000 +0100
14 virBufferVSprintf(&buf, "tuntap,%s", def->ifname);
17 + case VIR_DOMAIN_NET_TYPE_VDE:
18 + /* ethNNN=vde,vde_switch,macaddr,port,group,mode,description */
19 + if (def->data.vde.vdeswitch) {
20 + virBufferVSprintf(&buf, "vde,%s", def->data.vde.vdeswitch);
22 + virBufferAddLit(&buf, "vde");
25 case VIR_DOMAIN_NET_TYPE_INTERNAL:
26 umlReportError(VIR_ERR_INTERNAL_ERROR, "%s",
27 _("internal networking type not supported"));
28 --- a/src/conf/domain_conf.h 2011-01-10 11:41:07.000000000 +0100
29 +++ b/src/conf/domain_conf.h 2011-01-10 13:21:08.000000000 +0100
31 VIR_DOMAIN_NET_TYPE_BRIDGE,
32 VIR_DOMAIN_NET_TYPE_INTERNAL,
33 VIR_DOMAIN_NET_TYPE_DIRECT,
34 + VIR_DOMAIN_NET_TYPE_VDE,
36 VIR_DOMAIN_NET_TYPE_LAST,
40 virVirtualPortProfileParams virtPortProfile;
47 virDomainDeviceInfo info;
48 --- a/src/conf/domain_conf.c 2011-01-10 11:42:04.000000000 +0100
49 +++ b/src/conf/domain_conf.c 2011-01-10 14:49:46.000000000 +0100
58 VIR_ENUM_IMPL(virDomainChrChannelTarget,
59 VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_LAST,
61 VIR_FREE(def->data.direct.linkdev);
64 + case VIR_DOMAIN_NET_TYPE_VDE:
65 + VIR_FREE(def->data.vde.vdeswitch);
68 case VIR_DOMAIN_NET_TYPE_USER:
69 case VIR_DOMAIN_NET_TYPE_LAST:
72 char *internal = NULL;
75 + char *vdeswitch = NULL;
76 virNWFilterHashTablePtr filterparams = NULL;
77 virVirtualPortProfileParams virtPort;
78 bool virtPortParsed = false;
79 @@ -2379,7 +2385,11 @@
80 xmlStrEqual(cur->name, BAD_CAST "state")) {
81 /* Legacy back-compat. Don't add any more attributes here */
82 devaddr = virXMLPropString(cur, "devaddr");
84 + } else if ((vdeswitch == NULL) &&
85 + def->type == VIR_DOMAIN_NET_TYPE_VDE &&
86 + xmlStrEqual(cur->name, BAD_CAST "switch")) {
87 + vdeswitch = virXMLPropString(cur, "path");
92 @@ -2529,6 +2539,11 @@
96 + case VIR_DOMAIN_NET_TYPE_VDE:
97 + def->data.vde.vdeswitch = vdeswitch;
101 case VIR_DOMAIN_NET_TYPE_USER:
102 case VIR_DOMAIN_NET_TYPE_LAST:
104 @@ -6263,6 +6278,12 @@
108 + case VIR_DOMAIN_NET_TYPE_VDE:
109 + if (def->data.vde.vdeswitch)
110 + virBufferEscapeString(buf, " <switch path='%s'/>\n",
111 + def->data.vde.vdeswitch);
114 case VIR_DOMAIN_NET_TYPE_USER:
115 case VIR_DOMAIN_NET_TYPE_LAST:
117 --- a/src/qemu/qemu_command.c 2011-01-10 13:11:17.000000000 +0100
118 +++ b/src/qemu/qemu_command.c 2011-01-10 13:26:28.000000000 +0100
119 @@ -1602,12 +1602,21 @@
120 case VIR_DOMAIN_NET_TYPE_BRIDGE:
121 case VIR_DOMAIN_NET_TYPE_INTERNAL:
122 case VIR_DOMAIN_NET_TYPE_DIRECT:
123 + case VIR_DOMAIN_NET_TYPE_VDE:
124 case VIR_DOMAIN_NET_TYPE_LAST:
130 + case VIR_DOMAIN_NET_TYPE_VDE:
131 + virBufferAddLit(&buf, "vde");
132 + if (net->data.vde.vdeswitch)
133 + virBufferVSprintf(&buf, "%csock=%s",
135 + net->data.vde.vdeswitch);
138 case VIR_DOMAIN_NET_TYPE_USER:
140 virBufferAddLit(&buf, "user");