From 4a8493e1a34863acdb0dbe51e509dd78ad802948 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Thu, 3 Oct 2019 15:10:05 +0200 Subject: [PATCH] dnsdist: Set SO_BINDTODEVICE _before_ binding the health check socket --- pdns/dnsdist.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pdns/dnsdist.cc b/pdns/dnsdist.cc index fd553dfc7..de8f284a4 100644 --- a/pdns/dnsdist.cc +++ b/pdns/dnsdist.cc @@ -1855,7 +1855,6 @@ try sock.setNonBlocking(); if (!IsAnyAddress(ds->sourceAddr)) { sock.setReuseAddr(); - sock.bind(ds->sourceAddr); if (!ds->sourceItfName.empty()) { #ifdef SO_BINDTODEVICE int res = setsockopt(sock.getHandle(), SOL_SOCKET, SO_BINDTODEVICE, ds->sourceItfName.c_str(), ds->sourceItfName.length()); @@ -1864,6 +1863,7 @@ try } #endif } + sock.bind(ds->sourceAddr); } sock.connect(ds->remote); ssize_t sent = udpClientSendRequestToBackend(ds, sock.getHandle(), reinterpret_cast(&packet[0]), packet.size(), true); -- 2.40.0