diff --git a/make-linux.mk b/make-linux.mk index d0745fe9a..b777f67ef 100644 --- a/make-linux.mk +++ b/make-linux.mk @@ -96,6 +96,10 @@ ifeq ($(ZT_SYNOLOGY), 1) override DEFS+=-D__SYNOLOGY__ endif +ifeq ($(ZT_DISABLE_COMPRESSION), 1) + override DEFS+=-DZT_DISABLE_COMPRESSION +endif + ifeq ($(ZT_TRACE),1) override DEFS+=-DZT_TRACE endif diff --git a/node/NetworkConfig.hpp b/node/NetworkConfig.hpp index be8c03ddb..ddad52a56 100644 --- a/node/NetworkConfig.hpp +++ b/node/NetworkConfig.hpp @@ -276,10 +276,14 @@ public: */ inline bool disableCompression() const { -#ifndef ZT_SDK +#ifndef ZT_DISABLE_COMPRESSION return ((this->flags & ZT_NETWORKCONFIG_FLAG_DISABLE_COMPRESSION) != 0); #else - return false; // Compression is disabled for SDK builds since it doesn't play nice with lwIP + /* Compression is disabled for libzt builds since it causes non-obvious chaotic + interference with lwIP's TCP congestion algorithm. Compression is also disabled + for some NAS builds due to the usage of low-performance processors in certain + older and budget models. */ + return false; #endif }