diff -urN xeno-unstable.orig/tools/python/xen/xend/server/controller.py xeno-unstable/tools/python/xen/xend/server/controller.py --- xeno-unstable.orig/tools/python/xen/xend/server/controller.py 2004-08-03 19:56:00.000000000 -0700 +++ xeno-unstable/tools/python/xen/xend/server/controller.py 2004-08-04 10:11:55.579833196 -0700 @@ -305,10 +305,11 @@ """Abstract class for a device controller attached to a domain. """ - def __init__(self, factory, dom): + def __init__(self, factory, dom, name=None): CtrlMsgRcvr.__init__(self) self.factory = factory self.dom = int(dom) + self.name = name self.channel = None self.idx = None diff -urN xeno-unstable.orig/tools/python/xen/xend/server/netif.py xeno-unstable/tools/python/xen/xend/server/netif.py --- xeno-unstable.orig/tools/python/xen/xend/server/netif.py 2004-08-03 19:56:03.000000000 -0700 +++ xeno-unstable/tools/python/xen/xend/server/netif.py 2004-08-04 10:25:18.133042332 -0700 @@ -33,17 +33,18 @@ self.attached = 1 self.registerChannel() - def createInstance(self, dom, recreate=0): + def createInstance(self, dom, recreate=0, name=None): """Create or find the network interface controller for a domain. dom domain recreate if true this is a recreate (xend restarted) + name domain name returns netif controller """ netif = self.getInstanceByDom(dom) if netif is None: - netif = NetifController(self, dom) + netif = NetifController(self, dom, name) self.addInstance(netif) return netif @@ -168,7 +169,7 @@ def vifctl_params(self, vmname=None): dom = self.controller.dom - name = vmname or ('DOM%d' % dom) + name = self.controller.name or ('DOM%d' % dom) return { 'domain': name, 'vif' : self.get_vifname(), 'mac' : self.get_mac(), @@ -201,8 +202,8 @@ """Network interface controller. Handles all network devices for a domain. """ - def __init__(self, factory, dom): - controller.Controller.__init__(self, factory, dom) + def __init__(self, factory, dom, name=None): + controller.Controller.__init__(self, factory, dom, name) self.devices = {} self.majorTypes = [ CMSG_NETIF_FE ] diff -urN xeno-unstable.orig/tools/python/xen/xend/server/SrvDaemon.py xeno-unstable/tools/python/xen/xend/server/SrvDaemon.py --- xeno-unstable.orig/tools/python/xen/xend/server/SrvDaemon.py 2004-08-03 19:56:05.000000000 -0700 +++ xeno-unstable/tools/python/xen/xend/server/SrvDaemon.py 2004-08-04 10:22:22.224596425 -0700 @@ -699,11 +699,11 @@ """ return self.netifCF.getControlDomain() - def netif_create(self, dom, recreate=0): + def netif_create(self, dom, recreate=0, name=None): """Create a network interface controller. """ - return self.netifCF.createInstance(dom, recreate=recreate) + return self.netifCF.createInstance(dom, recreate=recreate, name=name) def netifs(self): return [ x.sxpr() for x in self.netifCF.getInstances() ] diff -urN xeno-unstable.orig/tools/python/xen/xend/XendDomainInfo.py xeno-unstable/tools/python/xen/xend/XendDomainInfo.py --- xeno-unstable.orig/tools/python/xen/xend/XendDomainInfo.py 2004-08-03 19:56:01.000000000 -0700 +++ xeno-unstable/tools/python/xen/xend/XendDomainInfo.py 2004-08-04 10:22:31.193650434 -0700 @@ -1015,7 +1015,7 @@ raise VmError('vif: vif in netif backend domain') vif = vm.next_device_index('vif') vmac = sxp.child_value(val, "mac") - xend.netif_create(vm.dom, recreate=vm.recreate) + xend.netif_create(vm.dom, name=vm.name, recreate=vm.recreate) log.debug("Creating vif dom=%d vif=%d mac=%s", vm.dom, vif, str(vmac)) defer = xend.netif_dev_create(vm.dom, vif, val, recreate=vm.recreate) def fn(id):