WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] Allow off-line NIC removal

To: John Levon <john.levon@xxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Allow off-line NIC removal
From: "Daniel P. Berrange" <berrange@xxxxxxxxxx>
Date: Thu, 12 Mar 2009 10:59:43 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 12 Mar 2009 04:00:13 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <36e28c9e7757b49ce79f.1236822187@girltalk>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <36e28c9e7757b49ce79f.1236822187@girltalk>
Reply-to: "Daniel P. Berrange" <berrange@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.4.1i
On Wed, Mar 11, 2009 at 06:43:07PM -0700, John Levon wrote:
> # HG changeset patch
> # User John Levon <john.levon@xxxxxxx>
> # Date 1236822173 25200
> # Node ID 36e28c9e7757b49ce79f693f1bdf80ab8f2c8a33
> # Parent  ce97fa7ee861ff3c68468715431ce2b117b5cbee
> Allow off-line NIC removal
> 
> Match a MAC address so device_destroy can remove off-line NICs.
> 
> Signed-off-by: John Levon <john.levon@xxxxxxx>

This patch looks good to me - libvirt needs the ability remove NICs
from inactive guests & there's a patch for this blocking on this
functionality in XenD. Disks already have a similar conversion
that allows use of /dev/XXX device names, so this gives parity of
functionality for NICs.

Daniel

> 
> diff --git a/tools/python/xen/xend/server/netif.py 
> b/tools/python/xen/xend/server/netif.py
> --- a/tools/python/xen/xend/server/netif.py
> +++ b/tools/python/xen/xend/server/netif.py
> @@ -24,7 +24,7 @@ import random
>  import random
>  import re
>  
> -from xen.xend import XendOptions
> +from xen.xend import XendOptions, sxp
>  from xen.xend.server.DevController import DevController
>  from xen.xend.XendError import VmError
>  from xen.xend.XendXSPolicyAdmin import XSPolicyAdminInstance
> @@ -196,3 +196,23 @@ class NetifController(DevController):
>                  result[x] = y
>  
>          return result
> +
> +    # match a VIF ID from xenstore, or a MAC address stored in the domain 
> config
> +    def convertToDeviceNumber(self, devid):
> +        try:
> +            return int(devid)
> +        except ValueError:
> +            if type(devid) is not str:
> +                raise VmError("devid %s is wrong type" % str(devid))
> +            try:
> +                dev = devid.split('/')[-1]
> +                return (int(dev))
> +            except ValueError:
> +                devs = [d for d in self.vm.info.all_devices_sxpr()
> +                    if d[0] == 'vif']
> +                for nr in range(len(devs)):
> +                    dev_type, dev_info = devs[nr]
> +                    if (sxp.child_value(dev_info, 'mac').lower() ==
> +                        devid.lower()):
> +                        return nr
> +                raise VmError("unknown devid %s" % str(devid))
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>