Generalize xen network config

Allow dhcp for IP addresses.
dhclient3 bug workaround.
Refactor code to improve network creation logic.

Change-Id: Ia3e2e65bbe8b68cf4832595cb7c283c3dc84db19
diff --git a/tools/xen/xenrc b/tools/xen/xenrc
index 246ac16..73f9c02 100644
--- a/tools/xen/xenrc
+++ b/tools/xen/xenrc
@@ -9,24 +9,31 @@
 # VM Password
 GUEST_PASSWORD=${GUEST_PASSWORD:-secrete}
 
-# Our nova host's network info 
+# Host Interface, i.e. the public facing interface on the nova vm
+HOST_IP_IFACE=${HOST_IP_IFACE:-eth0}
+
+# Our nova host's network info
 VM_IP=${VM_IP:-10.255.255.255} # A host-only ip that let's the interface come up, otherwise unused
 MGT_IP=${MGT_IP:-172.16.100.55}
 PUB_IP=${PUB_IP:-192.168.1.55}
 
 # Public network
-PUB_BR=${PUB_BR:-xenbr0}
+PUB_BR=${PUB_BR:-"xenbr0"}
+PUB_DEV=${PUB_DEV:-eth0}
+PUB_VLAN=${PUB_VLAN:--1}
 PUB_NETMASK=${PUB_NETMASK:-255.255.255.0}
 
 # VM network params
 VM_NETMASK=${VM_NETMASK:-255.255.255.0}
-VM_BR=${VM_BR:-xapi1}
+VM_BR=${VM_BR:-""}
 VM_VLAN=${VM_VLAN:-100}
+VM_DEV=${VM_DEV:-eth0}
 
 # MGMT network params
 MGT_NETMASK=${MGT_NETMASK:-255.255.255.0}
-MGT_BR=${MGT_BR:-xapi2}
+MGT_BR=${MGT_BR:-""}
 MGT_VLAN=${MGT_VLAN:-101}
+MGT_DEV=${MGT_DEV:-eth0}
 
 # XVA Directory
 XVA_DIR=${XVA_DIR:-xvas}