X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=xenserver%2Fopt_xensource_libexec_InterfaceReconfigureVswitch.py;h=8429358729479953e2778b07c3e984e76daad823;hb=939e5a1bbf47d2dc7ec5665906c441f6569ce9e0;hp=d70baa493c94f43efbaeee0cf6af05d02e7206e6;hpb=aa98d0cd418315a9965b7234c9e16013ba8c2616;p=sliver-openvswitch.git diff --git a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py index d70baa493..842935872 100644 --- a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py +++ b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py @@ -171,6 +171,22 @@ def datapath_configure_bond(pif,slaves): argv += ['bond_%s=%d' % (name, value)] except ValueError: log("bridge %s has invalid %s '%s'" % (bridge, name, value)) + elif name in ['miimon', 'use_carrier']: + try: + value = int(val) + if value < 0: + raise ValueError + + if name == 'use_carrier': + if value: + value = "carrier" + else: + value = "miimon" + argv += ["other-config:bond-detect-mode=%s" % value] + else: + argv += ["other-config:bond-miimon-interval=%d" % value] + except ValueError: + log("bridge %s has invalid %s '%s'" % (bridge, name, value)) elif name == "mode": if val in ['balance-slb', 'active-backup']: @@ -315,6 +331,12 @@ def configure_datapath(pif): vsctl_argv += ['--', 'set', 'Bridge', bridge, 'other-config:hwaddr=%s' % vsctl_escape(db().get_pif_record(pif)['MAC'])] + pool = db().get_pool_record() + fail_mode = pool['other_config']['vswitch-controller-fail-mode'] + + if fail_mode in ['standalone', 'secure']: + vsctl_argv += ['--', 'set', 'Bridge', bridge, 'fail_mode=%s' % fail_mode] + vsctl_argv += set_br_external_ids(pif) vsctl_argv += ['## done configuring datapath %s' % bridge]