summaryrefslogtreecommitdiffstats
path: root/dnsdist-lua.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dnsdist-lua.cc')
-rw-r--r--dnsdist-lua.cc11
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);