[libvirt] Missing libxl_device_nic settings

Kim Larry relip at me.com
Sat Jan 31 11:20:48 UTC 2015


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 at 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150131/661edbd4/attachment-0001.htm>


More information about the libvir-list mailing list