]> xenbits.xensource.com Git - xcp/xen-api-libs.git/commitdiff
Add biosdevname call to Netdev
authorRob Hoes <rob.hoes@citrix.com>
Fri, 18 Jun 2010 13:32:23 +0000 (14:32 +0100)
committerRob Hoes <rob.hoes@citrix.com>
Fri, 18 Jun 2010 13:32:23 +0000 (14:32 +0100)
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@citrix.com>
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"

netdev/netdev.ml

index 768dd3b8fbe5910e73cb8657599ec33264a89e0f..1f09409ece96cb7c6ba0836e40a8a1f8c9d33830 100644 (file)
@@ -397,6 +397,13 @@ let is_physical name =
        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"