mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-06-05 03:53:44 +02:00
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
This commit is contained in:
commit
817b9d012e
4 changed files with 15 additions and 2 deletions
|
@ -551,7 +551,7 @@ unsigned int EmbeddedNetworkController::handleControlPlaneHttpGET(
|
||||||
for(auto member=members.begin();member!=members.end();++member) {
|
for(auto member=members.begin();member!=members.end();++member) {
|
||||||
mid = (*member)["id"];
|
mid = (*member)["id"];
|
||||||
char tmp[128];
|
char tmp[128];
|
||||||
OSUtils::ztsnprintf(tmp,sizeof(tmp),"%s\"%s\":%llu",(responseBody.length() > 1) ? ",\"" : "\"",mid.c_str(),(unsigned long long)OSUtils::jsonInt((*member)["revision"],0));
|
OSUtils::ztsnprintf(tmp,sizeof(tmp),"%s\"%s\":%llu",(responseBody.length() > 1) ? "," : "",mid.c_str(),(unsigned long long)OSUtils::jsonInt((*member)["revision"],0));
|
||||||
responseBody.append(tmp);
|
responseBody.append(tmp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -193,6 +193,14 @@
|
||||||
*/
|
*/
|
||||||
#define ZT_RX_QUEUE_SIZE 64
|
#define ZT_RX_QUEUE_SIZE 64
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Size of TX queue
|
||||||
|
*
|
||||||
|
* This is about 2mb, and can be decreased for small devices. A queue smaller
|
||||||
|
* than about 4 is probably going to cause a lot of lost packets.
|
||||||
|
*/
|
||||||
|
#define ZT_TX_QUEUE_SIZE 64
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Length of secret key in bytes -- 256-bit -- do not change
|
* Length of secret key in bytes -- 256-bit -- do not change
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -503,6 +503,9 @@ void Switch::send(void *tPtr,Packet &packet,bool encrypt)
|
||||||
if (!_trySend(tPtr,packet,encrypt)) {
|
if (!_trySend(tPtr,packet,encrypt)) {
|
||||||
{
|
{
|
||||||
Mutex::Lock _l(_txQueue_m);
|
Mutex::Lock _l(_txQueue_m);
|
||||||
|
if (_txQueue.size() >= ZT_TX_QUEUE_SIZE) {
|
||||||
|
_txQueue.pop_front();
|
||||||
|
}
|
||||||
_txQueue.push_back(TXQueueEntry(dest,RR->node->now(),packet,encrypt));
|
_txQueue.push_back(TXQueueEntry(dest,RR->node->now(),packet,encrypt));
|
||||||
}
|
}
|
||||||
if (!RR->topology->getPeer(tPtr,dest))
|
if (!RR->topology->getPeer(tPtr,dest))
|
||||||
|
|
|
@ -1608,11 +1608,13 @@ public:
|
||||||
// Nuke applied routes that are no longer in n.config.routes[] and/or are not allowed
|
// Nuke applied routes that are no longer in n.config.routes[] and/or are not allowed
|
||||||
for(std::list< SharedPtr<ManagedRoute> >::iterator mr(n.managedRoutes.begin());mr!=n.managedRoutes.end();) {
|
for(std::list< SharedPtr<ManagedRoute> >::iterator mr(n.managedRoutes.begin());mr!=n.managedRoutes.end();) {
|
||||||
bool haveRoute = false;
|
bool haveRoute = false;
|
||||||
|
|
||||||
if ( (checkIfManagedIsAllowed(n,(*mr)->target())) && (((*mr)->via().ss_family != (*mr)->target().ss_family)||(!matchIpOnly(myIps,(*mr)->via()))) ) {
|
if ( (checkIfManagedIsAllowed(n,(*mr)->target())) && (((*mr)->via().ss_family != (*mr)->target().ss_family)||(!matchIpOnly(myIps,(*mr)->via()))) ) {
|
||||||
for(unsigned int i=0;i<n.config.routeCount;++i) {
|
for(unsigned int i=0;i<n.config.routeCount;++i) {
|
||||||
const InetAddress *const target = reinterpret_cast<const InetAddress *>(&(n.config.routes[i].target));
|
const InetAddress *const target = reinterpret_cast<const InetAddress *>(&(n.config.routes[i].target));
|
||||||
const InetAddress *const via = reinterpret_cast<const InetAddress *>(&(n.config.routes[i].via));
|
const InetAddress *const via = reinterpret_cast<const InetAddress *>(&(n.config.routes[i].via));
|
||||||
if ( ((*mr)->target() == *target) && ( ((via->ss_family == target->ss_family)&&((*mr)->via().ipsEqual(*via))) || (tapdev == (*mr)->device()) ) ) {
|
|
||||||
|
if ( ((*mr)->target() == *target) && ( ((via->ss_family == target->ss_family)&&((*mr)->via().ipsEqual(*via))) || (strcmp(tapdev,(*mr)->device())==0) ) ) {
|
||||||
haveRoute = true;
|
haveRoute = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue