summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJoseph Henry <josephjah@gmail.com>2018-05-01 16:32:15 -0700
committerJoseph Henry <josephjah@gmail.com>2018-05-01 16:32:15 -0700
commit6a2ba4baca326272c45930208b70cfedf8cb1638 (patch)
tree434403aecca63908909678bd234ef8b4ffb1d1e4 /include
parent836d897aecc193ec3477e67858237a3f97819024 (diff)
downloadinfinitytier-6a2ba4baca326272c45930208b70cfedf8cb1638.tar.gz
infinitytier-6a2ba4baca326272c45930208b70cfedf8cb1638.zip
Introduced basic multipath support
Diffstat (limited to 'include')
-rw-r--r--include/ZeroTierOne.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/include/ZeroTierOne.h b/include/ZeroTierOne.h
index 6da53a73..15e15bd1 100644
--- a/include/ZeroTierOne.h
+++ b/include/ZeroTierOne.h
@@ -423,6 +423,42 @@ enum ZT_ResultCode
#define ZT_ResultCode_isFatal(x) ((((int)(x)) >= 100)&&(((int)(x)) < 1000))
/**
+ * The multipath algorithm in use by this node.
+ */
+enum ZT_MultipathMode
+{
+ /**
+ * No active multipath.
+ *
+ * Traffic is merely sent over the strongest path. That being
+ * said, this mode will automatically failover in the event that a link goes down.
+ */
+ ZT_MULTIPATH_NONE = 0,
+
+ /**
+ * Traffic is randomly distributed among all active paths.
+ *
+ * Will cease sending traffic over links that appear to be stale.
+ */
+ ZT_MULTIPATH_RANDOM = 1,
+
+ /**
+ * Traffic is allocated across all active paths in proportion to their strength and
+ * reliability.
+ *
+ * Will cease sending traffic over links that appear to be stale.
+ */
+ ZT_MULTIPATH_PROPORTIONALLY_BALANCED = 2,
+
+ /**
+ * Traffic is allocated across a user-defined interface/allocation
+ *
+ * Will cease sending traffic over links that appear to be stale.
+ */
+ ZT_MULTIPATH_MANUALLY_BALANCED = 3
+};
+
+/**
* Status codes sent to status update callback when things happen
*/
enum ZT_Event