diff options
| author | Joseph Henry <[email protected]> | 2020-06-16 12:30:21 -0700 |
|---|---|---|
| committer | Joseph Henry <[email protected]> | 2020-06-16 12:30:21 -0700 |
| commit | 5f0ee4fc78f438d00f382b4e29ebdde621e7e160 (patch) | |
| tree | acd09c55f537464bcd2831b4b8d416d294b1b71f /include | |
| parent | fa5c8ef434a31e91f02861bb169f22a9aae7b1f4 (diff) | |
Fix invalid defaultBondingPolicy conditions, Add ZT_MultipathFlowRebalanceStrategy, Add basic hysteresis mechanism to flow re-assignment
Diffstat (limited to 'include')
| -rw-r--r-- | include/ZeroTierOne.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/include/ZeroTierOne.h b/include/ZeroTierOne.h index 890e5604..dfb52046 100644 --- a/include/ZeroTierOne.h +++ b/include/ZeroTierOne.h @@ -522,6 +522,33 @@ enum ZT_MultipathMonitorStrategy }; /** + * Strategy for re-balancing protocol flows + */ +enum ZT_MultipathFlowRebalanceStrategy +{ + /** + * Flows will only be re-balanced among slaves 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 slave 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 slave + * 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 |
