summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2017-09-01 12:03:31 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2017-09-01 12:03:31 -0700
commit2d858b05ac8554ba11374fefaeb583a0bbc0546b (patch)
tree3a3176641359ae3799733bcafe769613fcf4ee6f
parentb1fb020aea80ea70ed801b876ad01beb09e218e1 (diff)
downloadinfinitytier-2d858b05ac8554ba11374fefaeb583a0bbc0546b.tar.gz
infinitytier-2d858b05ac8554ba11374fefaeb583a0bbc0546b.zip
Another fix for ye old tyme clients.
-rw-r--r--include/ZeroTierOne.h11
-rw-r--r--node/Constants.hpp9
-rw-r--r--node/NetworkConfig.cpp5
3 files changed, 13 insertions, 12 deletions
diff --git a/include/ZeroTierOne.h b/include/ZeroTierOne.h
index 2a970d5b..b889ade0 100644
--- a/include/ZeroTierOne.h
+++ b/include/ZeroTierOne.h
@@ -93,6 +93,15 @@ extern "C" {
#define ZT_MAX_MTU 10000
/**
+ * Default payload MTU for UDP packets
+ *
+ * This is 1500 - IPv6 UDP overhead - PPPoE overhead and is safe for 99.9% of
+ * all Internet links.
+ */
+#define ZT_DEFAULT_PHYSMTU 1444
+#define ZT_UDP_DEFAULT_PAYLOAD_MTU 1444
+
+/**
* Maximum physical UDP payload
*/
#define ZT_MAX_PHYSPAYLOAD 10100
@@ -103,7 +112,7 @@ extern "C" {
#define ZT_MAX_HEADROOM 224
/**
- * Maximum physical MTU
+ * Maximum payload MTU for UDP packets
*/
#define ZT_MAX_PHYSMTU (ZT_MAX_PHYSPAYLOAD + ZT_MAX_HEADROOM)
diff --git a/node/Constants.hpp b/node/Constants.hpp
index cda1af3b..651fe50d 100644
--- a/node/Constants.hpp
+++ b/node/Constants.hpp
@@ -172,15 +172,6 @@
#define ZT_ADDRESS_RESERVED_PREFIX 0xff
/**
- * Default payload MTU for UDP packets
- *
- * In the future we might support UDP path MTU discovery, but for now we
- * set a maximum that is equal to 1500 minus 8 (for PPPoE overhead, common
- * in some markets) minus 48 (IPv6 UDP overhead).
- */
-#define ZT_UDP_DEFAULT_PAYLOAD_MTU 1444
-
-/**
* Default MTU used for Ethernet tap device
*/
#define ZT_DEFAULT_MTU 2800
diff --git a/node/NetworkConfig.cpp b/node/NetworkConfig.cpp
index 0bf4bc19..110a20b0 100644
--- a/node/NetworkConfig.cpp
+++ b/node/NetworkConfig.cpp
@@ -35,6 +35,7 @@ namespace ZeroTier {
bool NetworkConfig::toDictionary(Dictionary<ZT_NETWORKCONFIG_DICT_CAPACITY> &d,bool includeLegacy) const
{
Buffer<ZT_NETWORKCONFIG_DICT_CAPACITY> *tmp = new Buffer<ZT_NETWORKCONFIG_DICT_CAPACITY>();
+ char tmp2[128];
try {
d.clear();
@@ -46,8 +47,8 @@ bool NetworkConfig::toDictionary(Dictionary<ZT_NETWORKCONFIG_DICT_CAPACITY> &d,b
if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_TIMESTAMP,this->timestamp)) return false;
if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_CREDENTIAL_TIME_MAX_DELTA,this->credentialTimeMaxDelta)) return false;
if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_REVISION,this->revision)) return false;
- if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ISSUED_TO,this->issuedTo)) return false;
- if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_REMOTE_TRACE_TARGET,this->remoteTraceTarget)) return false;
+ if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ISSUED_TO,this->issuedTo.toString(tmp2))) return false;
+ if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_REMOTE_TRACE_TARGET,this->remoteTraceTarget.toString(tmp2))) return false;
if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_FLAGS,this->flags)) return false;
if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_MULTICAST_LIMIT,(uint64_t)this->multicastLimit)) return false;
if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_TYPE,(uint64_t)this->type)) return false;