diff options
Diffstat (limited to 'dnsdist-lua.cc')
-rw-r--r-- | dnsdist-lua.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/dnsdist-lua.cc b/dnsdist-lua.cc index 73a8567..4e0400d 100644 --- a/dnsdist-lua.cc +++ b/dnsdist-lua.cc @@ -809,10 +809,11 @@ static void setupLuaConfig(LuaContext& luaCtx, bool client, bool configCheck) std::shared_ptr<XskSocket> socket; parseXskVars(vars, socket); if (socket) { - udpCS->xskInfo = XskWorker::create(); - udpCS->xskInfo->sharedEmptyFrameOffset = socket->sharedEmptyFrameOffset; + udpCS->xskInfo = XskWorker::create(XskWorker::Type::Bidirectional, socket->sharedEmptyFrameOffset); socket->addWorker(udpCS->xskInfo); socket->addWorkerRoute(udpCS->xskInfo, loc); + udpCS->xskInfoResponder = XskWorker::create(XskWorker::Type::OutgoingOnly, socket->sharedEmptyFrameOffset); + socket->addWorker(udpCS->xskInfoResponder); vinfolog("Enabling XSK in %s mode for incoming UDP packets to %s", socket->getXDPMode(), loc.toStringWithPort()); } #endif /* HAVE_XSK */ @@ -863,10 +864,11 @@ static void setupLuaConfig(LuaContext& luaCtx, bool client, bool configCheck) std::shared_ptr<XskSocket> socket; parseXskVars(vars, socket); if (socket) { - udpCS->xskInfo = XskWorker::create(); - udpCS->xskInfo->sharedEmptyFrameOffset = socket->sharedEmptyFrameOffset; + udpCS->xskInfo = XskWorker::create(XskWorker::Type::Bidirectional, socket->sharedEmptyFrameOffset); socket->addWorker(udpCS->xskInfo); socket->addWorkerRoute(udpCS->xskInfo, loc); + udpCS->xskInfoResponder = XskWorker::create(XskWorker::Type::OutgoingOnly, socket->sharedEmptyFrameOffset); + socket->addWorker(udpCS->xskInfoResponder); vinfolog("Enabling XSK in %s mode for incoming UDP packets to %s", socket->getXDPMode(), loc.toStringWithPort()); } #endif /* HAVE_XSK */ @@ -3482,6 +3484,7 @@ vector<std::function<void(void)>> setupLua(LuaContext& luaCtx, bool client, bool setupLuaBindingsDNSParser(luaCtx); setupLuaBindingsDNSQuestion(luaCtx); setupLuaBindingsKVS(luaCtx, client); + setupLuaBindingsLogging(luaCtx); setupLuaBindingsNetwork(luaCtx, client); setupLuaBindingsPacketCache(luaCtx, client); setupLuaBindingsProtoBuf(luaCtx, client, configCheck); |