From 82635ce60641fbd37a082929766cfd13e42aaeff Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Thu, 9 Jun 2016 09:43:09 -0700 Subject: Add flags and metric to ZT-managed routes. --- include/ZeroTierOne.h | 10 ++++++++++ node/NetworkConfig.hpp | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/include/ZeroTierOne.h b/include/ZeroTierOne.h index 207edce7..dbd62fad 100644 --- a/include/ZeroTierOne.h +++ b/include/ZeroTierOne.h @@ -633,6 +633,16 @@ typedef struct * Gateway IP address (port ignored) or NULL (family == 0) for LAN-local (no gateway) */ struct sockaddr_storage via; + + /** + * Route flags + */ + uint16_t flags; + + /** + * Route metric (not currently used) + */ + uint16_t metric; } ZT_VirtualNetworkRoute; /** diff --git a/node/NetworkConfig.hpp b/node/NetworkConfig.hpp index 06b6b611..998d859f 100644 --- a/node/NetworkConfig.hpp +++ b/node/NetworkConfig.hpp @@ -376,6 +376,8 @@ public: for(unsigned int i=0;i(&(routes[i].target))->serialize(b); reinterpret_cast(&(routes[i].via))->serialize(b); + b.append((uint16_t)routes[i].flags); + b.append((uint16_t)routes[i].metric); } b.append((uint16_t)staticIpCount); @@ -510,6 +512,8 @@ public: for(unsigned int i=0;i(&(routes[i].target))->deserialize(b,p); p += reinterpret_cast(&(routes[i].via))->deserialize(b,p); + routes[i].flags = b.template at(p); p += 2; + routes[i].metric = b.template at(p); p += 2; } staticIpCount = (unsigned int)b.template at(p); p += 2; -- cgit v1.2.3