# Copyright (c) 2008,2009 Citrix Systems, Inc.
-# Copyright (c) 2009,2010 Nicira Networks.
+# Copyright (c) 2009,2010,2011 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
pool = db().get_pool_record()
network = db().get_network_by_bridge(bridge)
+ network_rec = None
fail_mode = None
valid_fail_modes = ['standalone', 'secure']
vsctl_argv += ['--', 'set', 'Bridge', bridge, 'fail_mode=%s' % fail_mode]
+ if network_rec:
+ dib = network_rec['other_config'].get('vswitch-disable-in-band')
+ if not dib:
+ vsctl_argv += ['--', 'remove', 'Bridge', bridge, 'other_config', 'disable-in-band']
+ elif dib in ['true', 'false']:
+ vsctl_argv += ['--', 'set', 'Bridge', bridge, 'other_config:disable-in-band=' + dib]
+ else:
+ log('"' + dib + '"' "isn't a valid setting for other_config:disable-in-band on " + bridge)
+
vsctl_argv += set_br_external_ids(pif)
vsctl_argv += ['## done configuring datapath %s' % bridge]
dpname = pif_bridge_name(self._dp)
if pif_is_vlan(self._pif):
- # XXX this is only needed on XS5.5, because XAPI misguidedly
- # creates the fake bridge (via bridge ioctl) before it calls us.
+ # In some cases XAPI may misguidedly leave an instance of
+ # 'bridge' which should be deleted.
vsctl_argv += ['--', '--if-exists', 'del-br', bridge]
# configure_datapath() set up the underlying datapath bridge.
netdev_up(dev, mtu)
- settings, offload = ethtool_settings(oc)
+ settings, offload = ethtool_settings(oc, PIF_OTHERCONFIG_DEFAULTS)
if len(settings):
run_command(['/sbin/ethtool', '-s', dev] + settings)
if len(offload):
bridge = pif_bridge_name(dp)
- #nw = db().get_pif_record(self._pif)['network']
- #nwrec = db().get_network_record(nw)
- #vsctl_argv += ['# deconfigure network-uuids']
- #vsctl_argv += ['--del-entry=bridge.%s.network-uuids=%s' % (bridge,nwrec['uuid'])]
-
log("deconfigure ipdev %s on %s" % (ipdev,bridge))
vsctl_argv += ["# deconfigure ipdev %s" % ipdev]
vsctl_argv += datapath_deconfigure_ipdev(ipdev)