Hi Jihoon,
On Sat, 2015-01-24 at 17:17 +0000, Kim Larry wrote:
I was trying to pass ip address to scripts/vif-bridge by putting
<ip
address=""/> in guest config xml file, however, I found that
libxlMakeNic(which located in libxl/libxl_conf.c:956) doesn't set
x_nic->ip. So I patched myself but I'm not so sure
about VIR_DOMAIN_NET_TYPE_ETHERNET. It seems like vif-route, correct?
You're right that the libxl driver needs to support that feature.
However you should pull lastest sources from master branch as I pushed
pretty big changes in the network configuration recently.
Here is my patch:
diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index 0555b91..0effc59 100644
--- a/src/libxl/libxl_conf.c
+++ b/src/libxl/libxl_conf.c
@@ -1047,10 +1047,18 @@ libxlMakeNic(virDomainDefPtr def,
if (VIR_STRDUP(x_nic->bridge,
virDomainNetGetActualBridgeName(l_nic)) <
0)
return -1;
- /* fallthrough */
+ if (VIR_STRDUP(x_nic->script, l_nic->script) < 0)
+ return -1;
+ if (VIR_STRDUP(x_nic->ip, l_nic->data.bridge.ipaddr) < 0)
+ return -1;
+ break;
Now, domains can have multiple IPs: l_nic->data.bridge.ipaddr doesn't
exist anymore, you'll need to read from l_nic->ips (array of size
l_nic->nips).
I hope that helps,
--
Cedric