[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-API] [PATCH] Re-sending with bug fix: Add biosdevname call to Netdev


  • To: xen-api <xen-api@xxxxxxxxxxxxxxxxxxx>
  • From: Rob Hoes <rob.hoes@xxxxxxxxxx>
  • Date: Mon, 7 Jun 2010 17:10:51 +0100
  • Delivery-date: Mon, 07 Jun 2010 09:11:03 -0700
  • List-id: Discussion of API issues surrounding Xen <xen-api.lists.xensource.com>

# HG changeset patch
# User Rob Hoes <rob.hoes@xxxxxxxxxx>
Re-sending with bug fix: Add biosdevname call to Netdev

biosdevname is a tool used to find out the "real" device name of a network 
interface, according to the BIOS. This name is not affected by manual device 
renaming or changes in the Linux kernel.

Signed-off-by: Rob Hoes <rob.hoes@xxxxxxxxxx>

diff -r 96761a1835c1 netdev/netdev.ml
--- a/netdev/netdev.ml
+++ b/netdev/netdev.ml
@@ -397,6 +397,13 @@
        not(List.mem "xen-backend" (String.split '/' link))
   with _ -> false
 
+let get_bios_name name =
+       try
+               let output, _ = Forkhelpers.execute_command_get_output 
"/sbin/biosdevname" ["-i"; name] in
+               let output = String.strip String.isspace output in
+               output
+       with _ -> name
+
 (* Dispatch network backend operations. *)
 
 let network_config_file = "/etc/xensource/network.conf"
diff -r 96761a1835c1 netdev/netdev.mli
--- a/netdev/netdev.mli
+++ b/netdev/netdev.mli
@@ -131,8 +131,13 @@
 (** Returns PCI vendor and device ID for network device. *)
 val get_ids : string -> string * string
 
-(** Indicates whether the given interface is a physical interface *)
+(** Indicates whether the given interface is a physical interface. *)
 val is_physical : string -> bool
 
-(** Dispatch operation to correct backend device *)
+(** Returns the device name of the given interface according to [biosdevname]. 
This is a name
+ *  that is based on the BIOS name and should not be affected by changes in 
the Linux kernel or
+ *  manual device renaming. *)
+val get_bios_name : string -> string
+
+(** Dispatch operation to correct backend device. *)
 val network : network_ops

Attachment: netdev-biosdevname
Description: Text document

_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.