From 199a3433672d358a53cbb4cad7d9459cf9ed4551 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Thu, 16 Jan 2025 16:30:50 +0100 Subject: [PATCH] dnsdist: Better error when we cannot connect a backend socket Let the user know if we are using a specific interface or source address to contact the backend, as it is quite helpful to pinpoint the issue. --- pdns/dnsdistdist/dnsdist-backend.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pdns/dnsdistdist/dnsdist-backend.cc b/pdns/dnsdistdist/dnsdist-backend.cc index d493d3f9aa..e236ea1c74 100644 --- a/pdns/dnsdistdist/dnsdist-backend.cc +++ b/pdns/dnsdistdist/dnsdist-backend.cc @@ -148,7 +148,12 @@ bool DownstreamState::reconnect(bool initialAttempt) } catch (const std::runtime_error& error) { if (initialAttempt || dnsdist::configuration::getCurrentRuntimeConfiguration().d_verbose) { - infolog("Error connecting to new server with address %s: %s", d_config.remote.toStringWithPort(), error.what()); + if (!IsAnyAddress(d_config.sourceAddr) || !d_config.sourceItfName.empty()) { + infolog("Error connecting to new server with address %s (source address: %s, source interface: %s): %s", d_config.remote.toStringWithPort(), IsAnyAddress(d_config.sourceAddr) ? "not set" : d_config.sourceAddr.toString(), d_config.sourceItfName.empty() ? "not set" : d_config.sourceItfName, error.what()); + } + else { + infolog("Error connecting to new server with address %s: %s", d_config.remote.toStringWithPort(), error.what()); + } } connected = false; break; -- 2.47.2