[ovs-dev] [PATCH 03/12] xenserver: Accept VLAN PIFs in pif_bridge_name().

Ben Pfaff blp at nicira.com
Tue Feb 23 09:50:17 PST 2010


On Tue, Feb 23, 2010 at 10:04:37AM +0000, Ian Campbell wrote:
> I think this commit makes pif_bridge_name the same in
> InterfaceReconfigureBridge.py and InterfaceReconfigureVswitch.py.
> Perhaps we could hoist the function into InterfaceReconfigure.py?

Thanks for noticing, I hadn't spotted that myself.

I inserted this between commits 3 and 4:

--8<--------------------------cut here-------------------------->8--

>From 38884aa21dfb3e2e3026fd04c97f8d6efae7e0e5 Mon Sep 17 00:00:00 2001
From: Ben Pfaff <blp at nicira.com>
Date: Tue, 23 Feb 2010 09:47:31 -0800
Subject: [PATCH] xenserver: Hoist identical bridge and vswitch functions into common code.

The previous commit made pif_bridge_name() in the bridge and vswitch
versions of interface-reconfigure functionally identical, so this commit
hoists them into a single common implementation in InterfaceReconfigure.py.

pif_is_bridged() also comes along for the ride because it is also generic
and because it is logically related.  Only the bridge code uses it at the
moment.

Suggested-by: Ian Campbell <ian.campbell at citrix.com>
---
 .../opt_xensource_libexec_InterfaceReconfigure.py  |   28 ++++++++++++++++++++
 ...xensource_libexec_InterfaceReconfigureBridge.py |   28 --------------------
 ...ensource_libexec_InterfaceReconfigureVswitch.py |   16 -----------
 3 files changed, 28 insertions(+), 44 deletions(-)

diff --git a/xenserver/opt_xensource_libexec_InterfaceReconfigure.py b/xenserver/opt_xensource_libexec_InterfaceReconfigure.py
index 33f541a..3847cb6 100644
--- a/xenserver/opt_xensource_libexec_InterfaceReconfigure.py
+++ b/xenserver/opt_xensource_libexec_InterfaceReconfigure.py
@@ -638,6 +638,34 @@ def pif_netdev_name(pif):
         return pifrec['device']
 
 #
+# Bridges
+#
+
+def pif_is_bridged(pif):
+    pifrec = db().get_pif_record(pif)
+    nwrec = db().get_network_record(pifrec['network'])
+
+    if nwrec['bridge']:
+        # TODO: sanity check that nwrec['bridgeless'] != 'true'
+        return True
+    else:
+        # TODO: sanity check that nwrec['bridgeless'] == 'true'
+        return False
+
+def pif_bridge_name(pif):
+    """Return the bridge name of a pif.
+
+    PIF must be a bridged PIF."""
+    pifrec = db().get_pif_record(pif)
+
+    nwrec = db().get_network_record(pifrec['network'])
+
+    if nwrec['bridge']:
+        return nwrec['bridge']
+    else:
+        raise Error("PIF %(uuid)s does not have a bridge name" % pifrec)
+
+#
 # Bonded PIFs
 #
 def pif_is_bond(pif):
diff --git a/xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py b/xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py
index 0fa9322..783fad3 100644
--- a/xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py
+++ b/xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py
@@ -136,34 +136,6 @@ def destroy_bond_device(pif):
     __destroy_bond_device(name)
 
 #
-# Bridges
-#
-
-def pif_is_bridged(pif):
-    pifrec = db().get_pif_record(pif)
-    nwrec = db().get_network_record(pifrec['network'])
-
-    if nwrec['bridge']:
-        # TODO: sanity check that nwrec['bridgeless'] != 'true'
-        return True
-    else:
-        # TODO: sanity check that nwrec['bridgeless'] == 'true'
-        return False
-
-def pif_bridge_name(pif):
-    """Return the bridge name of a pif.
-
-    PIF must be a bridged PIF."""
-    pifrec = db().get_pif_record(pif)
-
-    nwrec = db().get_network_record(pifrec['network'])
-
-    if nwrec['bridge']:
-        return nwrec['bridge']
-    else:
-        raise Error("PIF %(uuid)s does not have a bridge name" % pifrec)
-
-#
 # Bring Interface up/down.
 #
 
diff --git a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
index f777b17..41acf58 100644
--- a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
+++ b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
@@ -37,22 +37,6 @@ def netdev_up(netdev, mtu=None):
     run_command(["/sbin/ifconfig", netdev, 'up'] + mtu)
 
 #
-# Bridges
-#
-
-def pif_bridge_name(pif):
-    """Return the bridge name of a pif.
-
-    PIF must be a bridged PIF."""
-
-    pifrec = db().get_pif_record(pif)
-    nwrec = db().get_network_record(pifrec['network'])
-    if nwrec['bridge']:
-        return nwrec['bridge']
-    else:
-        raise Error("PIF %(uuid)s does not have a bridge name" % pifrec)
-
-#
 # PIF miscellanea
 #
 
-- 
1.6.6.1





More information about the dev mailing list