mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2024-12-30 09:48:54 +00:00
MTU support in controller.
This commit is contained in:
parent
107e3e4106
commit
909a14fb48
@ -809,6 +809,7 @@ unsigned int EmbeddedNetworkController::handleControlPlaneHttpPOST(
|
|||||||
if (b.count("enableBroadcast")) network["enableBroadcast"] = OSUtils::jsonBool(b["enableBroadcast"],false);
|
if (b.count("enableBroadcast")) network["enableBroadcast"] = OSUtils::jsonBool(b["enableBroadcast"],false);
|
||||||
if (b.count("allowPassiveBridging")) network["allowPassiveBridging"] = OSUtils::jsonBool(b["allowPassiveBridging"],false);
|
if (b.count("allowPassiveBridging")) network["allowPassiveBridging"] = OSUtils::jsonBool(b["allowPassiveBridging"],false);
|
||||||
if (b.count("multicastLimit")) network["multicastLimit"] = OSUtils::jsonInt(b["multicastLimit"],32ULL);
|
if (b.count("multicastLimit")) network["multicastLimit"] = OSUtils::jsonInt(b["multicastLimit"],32ULL);
|
||||||
|
if (b.count("mtu")) network["mtu"] = std::max(std::min((unsigned int)OSUtils::jsonInt(b["mtu"],ZT_DEFAULT_MTU),(unsigned int)ZT_MAX_MTU),(unsigned int)ZT_MIN_MTU);
|
||||||
|
|
||||||
if (b.count("v4AssignMode")) {
|
if (b.count("v4AssignMode")) {
|
||||||
json nv4m;
|
json nv4m;
|
||||||
@ -1424,6 +1425,7 @@ void EmbeddedNetworkController::_request(
|
|||||||
if (OSUtils::jsonBool(network["enableBroadcast"],true)) nc->flags |= ZT_NETWORKCONFIG_FLAG_ENABLE_BROADCAST;
|
if (OSUtils::jsonBool(network["enableBroadcast"],true)) nc->flags |= ZT_NETWORKCONFIG_FLAG_ENABLE_BROADCAST;
|
||||||
if (OSUtils::jsonBool(network["allowPassiveBridging"],false)) nc->flags |= ZT_NETWORKCONFIG_FLAG_ALLOW_PASSIVE_BRIDGING;
|
if (OSUtils::jsonBool(network["allowPassiveBridging"],false)) nc->flags |= ZT_NETWORKCONFIG_FLAG_ALLOW_PASSIVE_BRIDGING;
|
||||||
Utils::scopy(nc->name,sizeof(nc->name),OSUtils::jsonString(network["name"],"").c_str());
|
Utils::scopy(nc->name,sizeof(nc->name),OSUtils::jsonString(network["name"],"").c_str());
|
||||||
|
nc->mtu = std::max(std::min((unsigned int)OSUtils::jsonInt(network["mtu"],ZT_DEFAULT_MTU),(unsigned int)ZT_MAX_MTU),(unsigned int)ZT_MIN_MTU);
|
||||||
nc->multicastLimit = (unsigned int)OSUtils::jsonInt(network["multicastLimit"],32ULL);
|
nc->multicastLimit = (unsigned int)OSUtils::jsonInt(network["multicastLimit"],32ULL);
|
||||||
|
|
||||||
for(std::vector<Address>::const_iterator ab(ns.activeBridges.begin());ab!=ns.activeBridges.end();++ab)
|
for(std::vector<Address>::const_iterator ab(ns.activeBridges.begin());ab!=ns.activeBridges.end();++ab)
|
||||||
|
@ -162,6 +162,7 @@ private:
|
|||||||
if (!network.count("tags")) network["tags"] = nlohmann::json::array();
|
if (!network.count("tags")) network["tags"] = nlohmann::json::array();
|
||||||
if (!network.count("routes")) network["routes"] = nlohmann::json::array();
|
if (!network.count("routes")) network["routes"] = nlohmann::json::array();
|
||||||
if (!network.count("ipAssignmentPools")) network["ipAssignmentPools"] = nlohmann::json::array();
|
if (!network.count("ipAssignmentPools")) network["ipAssignmentPools"] = nlohmann::json::array();
|
||||||
|
if (!network.count("mtu")) network["mtu"] = ZT_DEFAULT_MTU;
|
||||||
if (!network.count("rules")) {
|
if (!network.count("rules")) {
|
||||||
// If unspecified, rules are set to allow anything and behave like a flat L2 segment
|
// If unspecified, rules are set to allow anything and behave like a flat L2 segment
|
||||||
network["rules"] = {{
|
network["rules"] = {{
|
||||||
|
@ -59,6 +59,11 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define ZT_DEFAULT_PORT 9993
|
#define ZT_DEFAULT_PORT 9993
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Minimum MTU, which is the minimum allowed by IPv6 and several specs
|
||||||
|
*/
|
||||||
|
#define ZT_MIN_MTU 1280
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Maximum MTU for ZeroTier virtual networks
|
* Maximum MTU for ZeroTier virtual networks
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user