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? 

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;
         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)
+                return -1;
             break;
         case VIR_DOMAIN_NET_TYPE_NETWORK:
         {

Regards,

Jihoon