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@xxxxxxxx> wrote:
Kim Larry wrote:Hi,I was trying to pass ip address to scripts/vif-bridge by putting <ipaddress=""/> in guest config xml file, however, I found thatlibxlMakeNic(which located in libxl/libxl_conf.c:956) doesn't setx_nic->ip. So I patched myself but I'm not so sureabout 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.cindex 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
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list