summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJoseph Henry <[email protected]>2022-09-20 14:27:34 -0700
committerJoseph Henry <[email protected]>2022-09-20 14:27:34 -0700
commitbc521504caa759dbd38c5e16ab4c2b1a5d0d9d3b (patch)
tree5ec441447c7639e8671efc47b70131193263c3c9 /include
parent0797adf22308ded7bcd96067888916da0d712979 (diff)
Improved multipath link monitoring
Diffstat (limited to 'include')
-rw-r--r--include/ZeroTierOne.h37
1 files changed, 21 insertions, 16 deletions
diff --git a/include/ZeroTierOne.h b/include/ZeroTierOne.h
index 2d103d84..a9c28bad 100644
--- a/include/ZeroTierOne.h
+++ b/include/ZeroTierOne.h
@@ -87,6 +87,11 @@ extern "C" {
#define ZT_MIN_PHYSMTU 1400
/**
+ * Maximum physical interface name length. This number is gigantic because of Windows.
+ */
+#define ZT_MAX_PHYSIFNAME 256
+
+/**
* Default UDP payload size (physical path MTU) not including UDP and IP overhead
*
* This is small enough for PPPoE and for Google Cloud's bizarrely tiny MTUs.
@@ -1318,41 +1323,41 @@ typedef struct
float packetErrorRatio;
/**
- * Mean throughput
+ * Address scope
*/
- uint64_t throughputMean;
+ uint8_t scope;
/**
- * Maximum observed throughput
+ * Percentage of traffic allocated to this path (0-255)
*/
- float throughputMax;
+ uint8_t allocation;
/**
- * Throughput variance
+ * Name of physical interface this path resides on
*/
- float throughputVariance;
+ char ifname[ZT_MAX_PHYSIFNAME];
+
+ uint64_t localSocket;
/**
- * Address scope
+ * Is path expired?
*/
- uint8_t scope;
+ int expired;
/**
- * Percentage of traffic allocated to this path
+ * Whether this path is currently included in the bond
*/
- float allocation;
+ uint8_t bonded;
/**
- * Name of physical interface (for monitoring)
+ * Whether this path is currently eligible to be used in a bond
*/
- char ifname[32];
-
- uint64_t localSocket;
+ uint8_t eligible;
/**
- * Is path expired?
+ * The speed of this link (as given to bonding layer)
*/
- int expired;
+ uint32_t linkSpeed;
/**
* Is path preferred?