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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list