diff --git a/src/Controls.cpp b/src/Controls.cpp index b41375a..7531d23 100644 --- a/src/Controls.cpp +++ b/src/Controls.cpp @@ -42,6 +42,7 @@ #include "concurrentqueue.h" #include "libzt.h" +#include "lwipDriver.hpp" #if defined(_WIN32) WSADATA wsaData; @@ -413,6 +414,7 @@ zts_err_t zts_deorbit(uint64_t moonWorldId) zts_err_t zts_start(const char *path, void (*callback)(uint64_t, int), int port) { Mutex::Lock _l(_service_lock); + lwip_driver_init(); if (service || _run_service) { // Service is already initialized return ZTS_ERR_INVALID_OP; diff --git a/src/VirtualTap.cpp b/src/VirtualTap.cpp index e5c7cea..fac4b10 100644 --- a/src/VirtualTap.cpp +++ b/src/VirtualTap.cpp @@ -82,7 +82,6 @@ VirtualTap::VirtualTap( snprintf(vtap_full_name, sizeof(vtap_full_name), "libzt%llx", (unsigned long long)_nwid); _dev = vtap_full_name; ::pipe(_shutdownSignalPipe); - lwip_driver_init(); // Start virtual tap thread and stack I/O loops _thread = Thread::start(this); }