Netcon mode for Linux (in this branch, will make conditional later)

This commit is contained in:
Adam Ierymenko 2015-09-02 16:15:22 -07:00
parent dfb08ec753
commit 1f4c667646
3 changed files with 22 additions and 7 deletions

View File

@ -29,15 +29,15 @@ endif
UNAME_M=$(shell uname -m)
INCLUDES=
DEFS=
DEFS=-DZT_ENABLE_NETCON
LDLIBS?=
include objects.mk
OBJS+=osdep/LinuxEthernetTap.o
OBJS+=osdep/LinuxEthernetTap.o netcon/NetconEthernetTap.o
# "make official" is a shortcut for this
ifeq ($(ZT_OFFICIAL_RELEASE),1)
DEFS+=-DZT_OFFICIAL_RELEASE
DEFS+=-DZT_OFFICIAL_RELEASE
ZT_USE_MINIUPNPC=1
endif
@ -65,14 +65,14 @@ endif
# Build with ZT_ENABLE_NETWORK_CONTROLLER=1 to build with the Sqlite network controller
ifeq ($(ZT_ENABLE_NETWORK_CONTROLLER),1)
DEFS+=-DZT_ENABLE_NETWORK_CONTROLLER
DEFS+=-DZT_ENABLE_NETWORK_CONTROLLER
LDLIBS+=-L/usr/local/lib -lsqlite3
OBJS+=controller/SqliteNetworkController.o
OBJS+=controller/SqliteNetworkController.o
endif
# "make debug" is a shortcut for this
ifeq ($(ZT_DEBUG),1)
DEFS+=-DZT_TRACE
DEFS+=-DZT_TRACE
CFLAGS+=-Wall -g -pthread $(INCLUDES) $(DEFS)
CXXFLAGS+=-Wall -g -pthread $(INCLUDES) $(DEFS)
LDFLAGS=

View File

@ -62,7 +62,7 @@ NetconEthernetTap::NetconEthernetTap(
_dev = sockPath;
_unixListenSocket = _phy.unixListen(sockPath,(void *)this);
if (!_unixSocket)
if (!_unixListenSocket)
throw std::runtime_error(std::string("unable to bind to ")+sockPath);
_thread = Thread::start(this);

View File

@ -90,22 +90,37 @@ class SqliteNetworkController;
#endif
// Include the right tap device driver for this platform -- add new platforms here
#ifdef ZT_ENABLE_NETCON
#include "../netcon/NetconEthernetTap.hpp"
namespace ZeroTier { typedef NetconEthernetTap EthernetTap; }
#else
#ifdef __APPLE__
#include "../osdep/OSXEthernetTap.hpp"
namespace ZeroTier { typedef OSXEthernetTap EthernetTap; }
#endif
#ifdef __LINUX__
#include "../osdep/LinuxEthernetTap.hpp"
namespace ZeroTier { typedef LinuxEthernetTap EthernetTap; }
#endif
#ifdef __WINDOWS__
#include "../osdep/WindowsEthernetTap.hpp"
namespace ZeroTier { typedef WindowsEthernetTap EthernetTap; }
#endif
#ifdef __FreeBSD__
#include "../osdep/BSDEthernetTap.hpp"
namespace ZeroTier { typedef BSDEthernetTap EthernetTap; }
#endif
#endif // ZT_ENABLE_NETCON
// Sanity limits for HTTP
#define ZT_MAX_HTTP_MESSAGE_SIZE (1024 * 1024 * 64)