X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=xenserver%2Fopt_xensource_libexec_interface-reconfigure;h=2b6f62b46dd9ddf1be560ecbe73b5740e283e29b;hb=9ab3d9a3c24ee7132d85f5874f35ea5cb98b1588;hp=82c386368e4abe23d70aa2eb723921d93bf95dc4;hpb=450f38cf3c84f7b6f4722e174d824f328b4414f8;p=sliver-openvswitch.git diff --git a/xenserver/opt_xensource_libexec_interface-reconfigure b/xenserver/opt_xensource_libexec_interface-reconfigure index 82c386368..2b6f62b46 100755 --- a/xenserver/opt_xensource_libexec_interface-reconfigure +++ b/xenserver/opt_xensource_libexec_interface-reconfigure @@ -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 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]