
Then how do I set ip address when a VM has to use bridged network with specific ip? Clearly libxl supports it, but I don't see any way to set it though libvirt. JIhoon Jim Fehlig <jfehlig@suse.com> wrote: Kim Larry wrote: Hi, 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? If you want to use a routed setup, consider a 'network' type interface. E.g. <interface type='network'> <source network='routed-network'/> </interface> where 'routed-network' is a libvirt network with |<forward mode='route'/>. For more details on libvirt networking see the wiki| || |http://wiki.libvirt.org/page/Networking| || || 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) You will need to rebase against latest git master. ipaddr was removed by commit aa2cc721. + return -1; + break; case VIR_DOMAIN_NET_TYPE_ETHERNET: if (VIR_STRDUP(x_nic->script, l_nic->script) < 0) return -1; + if (VIR_STRDUP(x_nic->ip, l_nic->data.ethernet.ipaddr) < 0) + return -1; + if (VIR_STRDUP(x_nic->gatewaydev, l_nic->data.ethernet.dev) < 0) I don't think the last part is right. data.ethernet.dev is the vdev name, not a gateway. Regards, Jim