Include lib/string.h in "make dist"-generated tarballs.
[sliver-openvswitch.git] / xenserver / opt_xensource_libexec_interface-reconfigure
index 82c3863..2b6f62b 100755 (executable)
@@ -1,8 +1,18 @@
 #!/usr/bin/python
 #
-# Copyright (c) 2008,2009 Citrix Systems, Inc. All rights reserved.
+# Copyright (c) 2008,2009 Citrix Systems, Inc.
 # Copyright (c) 2009 Nicira Networks.
 #
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published
+# by the Free Software Foundation; version 2.1 only. with the special
+# exception on linking described in file LICENSE.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License for more details.
+#
 """Usage:
 
     %(command-name)s <PIF> up
@@ -1250,7 +1260,8 @@ def datapath_deconfigure_ipdev(interface):
     return ['--del-match=bridge.*.port=%s' % interface,
             '--del-match=port.%s.[!0-9]*' % interface,
             '--del-match=iface.%s.[!0-9]*' % interface,
-            '--del-match=vlan.%s.[!0-9]*' % interface]
+            '--del-match=vlan.%s.trunks=*' % interface,
+            '--del-match=vlan.%s.tag=*' % interface]
 
 def datapath_modify_config(commands):
     if debug_mode():
@@ -1258,7 +1269,7 @@ def datapath_modify_config(commands):
         for c in commands:
             log("  %s" % c)
 
-    rc = run_command(['/root/vswitch/bin/ovs-cfg-mod', '-vANY:console:emer',
+    rc = run_command(['/usr/bin/ovs-cfg-mod', '-vANY:console:emer',
                  '-F', '/etc/ovs-vswitchd.conf']
                 + [c for c in commands if c[0] != '#'] + ['-c'])
     if not rc:
@@ -1473,18 +1484,7 @@ def action_up(pif):
         cfgmod_argv += ['--add=vlan.%s.tag=%s' % (ipdev, pifrec['VLAN'])]
         cfgmod_argv += ['--add=iface.%s.internal=true' % (ipdev)]
         cfgmod_argv += ['--add=iface.%s.fake-bridge=true' % (ipdev)]
-        if not os.path.exists(vswitch_state_dir):
-            os.mkdir(vswitch_state_dir)
-        br = ConfigurationFile("br-%s" % ipdev, vswitch_state_dir)
-        br.write("VLAN_SLAVE=%s\n" % bridge)
-        br.write("VLAN_VID=%s\n" % pifrec['VLAN'])
-        br.close()
-        f.attach_child(br)
-    else:
-        br = ConfigurationFile("br-%s" % ipdev, vswitch_state_dir)
-        br.unlink()
-        f.attach_child(br)
-
+        
     # Apply updated configuration.
     try:
         f.apply()
@@ -1518,10 +1518,10 @@ def action_down(pif):
     ifdown(ipdev)
 
     if dp:
-        #nw = db.get_pif_record(pif)['network']
-        #nwrec = db.get_network_record(nw)
-        #cfgmod_argv += ['# deconfigure xs-network-uuids']
-        #cfgmod_argv += ['--del-entry=bridge.%s.xs-network-uuids=%s' % (bridge,nwrec['uuid'])]
+        nw = db.get_pif_record(pif)['network']
+        nwrec = db.get_network_record(nw)
+        cfgmod_argv += ['# deconfigure xs-network-uuids']
+        cfgmod_argv += ['--del-entry=bridge.%s.xs-network-uuids=%s' % (bridge,nwrec['uuid'])]
 
         log("deconfigure ipdev %s on %s" % (ipdev,bridge))
         cfgmod_argv += ["# deconfigure ipdev %s" % ipdev]