From: Ben Pfaff Date: Wed, 19 Aug 2009 19:59:56 +0000 (-0700) Subject: xenserver: Completely ignore datapath devices for renaming purposes. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9d04e270a8749d8dc54cef860abfc8c95823ff28;p=openvswitch xenserver: Completely ignore datapath devices for renaming purposes. Commit 2bb451b69 "xenserver: Rename network devices to match MAC addresses of physical PIFs" started renaming network devices so that they match the MAC address that we expect them to have. This worked OK at the time. Commit 35c979bff "vswitchd: Support creating fake bond device interfaces" later started creating fake bond devices to make the Citrix QA scripts happier. Unfortunately these commits interact badly: the bond devices created by the latter commit are sometimes chosen as the physical devices to be renamed over the physical PIF device names. This is because we do allow datapath internal ports to be chosen as "physical devices" as a last resort. This commit reverses this decision, eliminating that possibility. This probably won't become a problem unless somehow we encounter a physical Ethernet card driver that lacks a queue, but that is unlikely since the performance would be awful. --- diff --git a/xenserver/opt_xensource_libexec_interface-reconfigure b/xenserver/opt_xensource_libexec_interface-reconfigure index 0ae8e70a..24b160fe 100755 --- a/xenserver/opt_xensource_libexec_interface-reconfigure +++ b/xenserver/opt_xensource_libexec_interface-reconfigure @@ -265,16 +265,12 @@ def get_netdev_tx_queue_len(device): return None def get_netdev_by_mac(mac): - maybe = None for device in os.listdir("/sys/class/net"): dev_mac = get_netdev_mac(device) - if dev_mac and mac.lower() == dev_mac.lower(): - if get_netdev_tx_queue_len(device): + if (dev_mac and mac.lower() == dev_mac.lower() and + get_netdev_tx_queue_len(device)): return device - if not maybe: - # Probably a datapath internal port. - maybe = device - return maybe + return None class DatabaseCache(object): def __init__(self, session_ref=None, cache_file=None):