From: Remi Gacogne Date: Fri, 15 May 2026 13:59:15 +0000 (+0200) Subject: dnsdist: Prevent duplicated responses for "too large" XSK responses X-Git-Tag: auth-5.1.0~59^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5d2f936aaddc2cb8b4b52e467d260a8d312ade92;p=thirdparty%2Fpdns.git dnsdist: Prevent duplicated responses for "too large" XSK responses Signed-off-by: Remi Gacogne --- diff --git a/pdns/dnsdistdist/dnsdist-xsk.cc b/pdns/dnsdistdist/dnsdist-xsk.cc index d66b5dea22..143f457587 100644 --- a/pdns/dnsdistdist/dnsdist-xsk.cc +++ b/pdns/dnsdistdist/dnsdist-xsk.cc @@ -70,6 +70,8 @@ void XskResponderThread(std::shared_ptr dss, std::shared_ptr packet.getCapacity()) { /* fallback to sending the packet via normal socket */ + VERBOSESLOG(infolog("XSK packet falling back because packet is too large"), + logger->info(Logr::Info, "XSK packet falling back because packet is too large")); ids->xskPacketHeader.clear(); } if (!processResponderPacket(dss, response, std::move(*ids))) { @@ -79,10 +81,6 @@ void XskResponderThread(std::shared_ptr dss, std::shared_ptr packet.getCapacity()) { - /* fallback to sending the packet via normal socket */ - sendUDPResponse(ids->cs->udpFD, response, ids->delayMsec, ids->hopLocal, ids->hopRemote); - VERBOSESLOG(infolog("XSK packet falling back because packet is too large"), - logger->info(Logr::Info, "XSK packet falling back because packet is too large")); xskInfo->markAsFree(packet); return; }