tagging vde-2 version 2.3.2
[vde.git] / 2.3.2 / libvirt / libvirt-0.8.7.vde.patch
blobbaba961fcfab5fc7b83353593cd1925af6cbaa31
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
3 @@ -1083,6 +1083,7 @@
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:
8 break;
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
13 @@ -269,6 +269,14 @@
14 virBufferVSprintf(&buf, "tuntap,%s", def->ifname);
15 break;
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);
21 + } else
22 + virBufferAddLit(&buf, "vde");
23 + break;
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
30 @@ -288,6 +288,7 @@
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,
38 @@ -336,6 +337,9 @@
39 int mode;
40 virVirtualPortProfileParams virtPortProfile;
41 } direct;
42 + struct {
43 + char *vdeswitch;
44 + } vde;
45 } data;
46 char *ifname;
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
50 @@ -182,7 +182,8 @@
51 "network",
52 "bridge",
53 "internal",
54 - "direct")
55 + "direct",
56 + "vde")
58 VIR_ENUM_IMPL(virDomainChrChannelTarget,
59 VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_LAST,
60 @@ -598,6 +599,10 @@
61 VIR_FREE(def->data.direct.linkdev);
62 break;
64 + case VIR_DOMAIN_NET_TYPE_VDE:
65 + VIR_FREE(def->data.vde.vdeswitch);
66 + break;
68 case VIR_DOMAIN_NET_TYPE_USER:
69 case VIR_DOMAIN_NET_TYPE_LAST:
70 break;
71 @@ -2293,6 +2298,7 @@
72 char *internal = NULL;
73 char *devaddr = NULL;
74 char *mode = 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");
83 - }
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");
88 + }
90 cur = cur->next;
92 @@ -2529,6 +2539,11 @@
94 break;
96 + case VIR_DOMAIN_NET_TYPE_VDE:
97 + def->data.vde.vdeswitch = vdeswitch;
98 + vdeswitch = NULL;
99 + break;
101 case VIR_DOMAIN_NET_TYPE_USER:
102 case VIR_DOMAIN_NET_TYPE_LAST:
103 break;
104 @@ -6263,6 +6278,12 @@
105 " ");
106 break;
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);
112 + break;
114 case VIR_DOMAIN_NET_TYPE_USER:
115 case VIR_DOMAIN_NET_TYPE_LAST:
116 break;
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:
125 break;
127 type_sep = ',';
128 break;
130 + case VIR_DOMAIN_NET_TYPE_VDE:
131 + virBufferAddLit(&buf, "vde");
132 + if (net->data.vde.vdeswitch)
133 + virBufferVSprintf(&buf, "%csock=%s",
134 + type_sep,
135 + net->data.vde.vdeswitch);
136 + break;
138 case VIR_DOMAIN_NET_TYPE_USER:
139 default:
140 virBufferAddLit(&buf, "user");