diff options
| author | Joseph Henry <[email protected]> | 2021-09-01 21:37:49 -0700 |
|---|---|---|
| committer | Joseph Henry <[email protected]> | 2021-09-01 21:37:49 -0700 |
| commit | e1af003e4f8e06586c6759e8d8f68b655d5f6dbe (patch) | |
| tree | 09211f11de132b52873ed7a7c93f41b0cf55f4cb /include | |
| parent | 19391858d42324e2716ad150e9bdb50ab11eb8e5 (diff) | |
Consolidation of multipath logic. Better system separation
Diffstat (limited to 'include')
| -rw-r--r-- | include/ZeroTierOne.h | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/include/ZeroTierOne.h b/include/ZeroTierOne.h index f0a23248..2bdea647 100644 --- a/include/ZeroTierOne.h +++ b/include/ZeroTierOne.h @@ -420,157 +420,6 @@ enum ZT_ResultCode */ #define ZT_ResultCode_isFatal(x) ((((int)(x)) >= 100)&&(((int)(x)) < 1000)) - -/** - * Multipath bonding policy - */ -enum ZT_MultipathBondingPolicy -{ - /** - * Normal operation. No fault tolerance, no load balancing - */ - ZT_BONDING_POLICY_NONE = 0, - - /** - * Sends traffic out on only one path at a time. Configurable immediate - * fail-over. - */ - ZT_BONDING_POLICY_ACTIVE_BACKUP = 1, - - /** - * Sends traffic out on all paths - */ - ZT_BONDING_POLICY_BROADCAST = 2, - - /** - * Stripes packets across all paths - */ - ZT_BONDING_POLICY_BALANCE_RR = 3, - - /** - * Packets destined for specific peers will always be sent over the same - * path. - */ - ZT_BONDING_POLICY_BALANCE_XOR = 4, - - /** - * Balances flows among all paths according to path performance - */ - ZT_BONDING_POLICY_BALANCE_AWARE = 5 -}; - -/** - * Multipath active re-selection policy (linkSelectMethod) - */ -enum ZT_MultipathLinkSelectMethod -{ - /** - * Primary link regains status as active link whenever it comes back up - * (default when links are explicitly specified) - */ - ZT_MULTIPATH_RESELECTION_POLICY_ALWAYS = 0, - - /** - * Primary link regains status as active link when it comes back up and - * (if) it is better than the currently-active link. - */ - ZT_MULTIPATH_RESELECTION_POLICY_BETTER = 1, - - /** - * Primary link regains status as active link only if the currently-active - * link fails. - */ - ZT_MULTIPATH_RESELECTION_POLICY_FAILURE = 2, - - /** - * The primary link can change if a superior path is detected. - * (default if user provides no fail-over guidance) - */ - ZT_MULTIPATH_RESELECTION_POLICY_OPTIMIZE = 3 -}; - -/** - * Mode of multipath link interface - */ -enum ZT_MultipathLinkMode -{ - ZT_MULTIPATH_SLAVE_MODE_PRIMARY = 0, - ZT_MULTIPATH_SLAVE_MODE_SPARE = 1 -}; - -/** - * Strategy for path monitoring - */ -enum ZT_MultipathMonitorStrategy -{ - /** - * Use bonding policy's default strategy - */ - ZT_MULTIPATH_SLAVE_MONITOR_STRATEGY_DEFAULT = 0, - - /** - * Does not actively send probes to judge aliveness, will rely - * on conventional traffic and summary statistics. - */ - ZT_MULTIPATH_SLAVE_MONITOR_STRATEGY_PASSIVE = 1, - - /** - * Sends probes at a constant rate to judge aliveness. - */ - ZT_MULTIPATH_SLAVE_MONITOR_STRATEGY_ACTIVE = 2, - - /** - * Sends probes at varying rates which correlate to native - * traffic loads to judge aliveness. - */ - ZT_MULTIPATH_SLAVE_MONITOR_STRATEGY_DYNAMIC = 3 -}; - -/** - * Strategy for re-balancing protocol flows - */ -enum ZT_MultipathFlowRebalanceStrategy -{ - /** - * Flows will only be re-balanced among links during - * assignment or failover. This minimizes the possibility - * of sequence reordering and is thus the default setting. - */ - ZT_MULTIPATH_FLOW_REBALANCE_STRATEGY_PASSIVE = 0, - - /** - * Flows that are active may be re-assigned to a new more - * suitable link if it can be done without disrupting the flow. - * This setting can sometimes cause sequence re-ordering. - */ - ZT_MULTIPATH_FLOW_REBALANCE_STRATEGY_OPPORTUNISTIC = 0, - - /** - * Flows will be continuously re-assigned the most suitable link - * in order to maximize "balance". This can often cause sequence - * reordering and is thus only reccomended for protocols like UDP. - */ - ZT_MULTIPATH_FLOW_REBALANCE_STRATEGY_AGGRESSIVE = 2 -}; - -/** - * Indices for the path quality weight vector - */ -enum ZT_MultipathQualityWeightIndex -{ - ZT_QOS_LAT_IDX, - ZT_QOS_LTM_IDX, - ZT_QOS_PDV_IDX, - ZT_QOS_PLR_IDX, - ZT_QOS_PER_IDX, - ZT_QOS_THR_IDX, - ZT_QOS_THM_IDX, - ZT_QOS_THV_IDX, - ZT_QOS_AGE_IDX, - ZT_QOS_SCP_IDX, - ZT_QOS_WEIGHT_SIZE -}; - /** * Status codes sent to status update callback when things happen */ |
