From a1de5126786fb3fe1c1dacb4ce69f9d589380c62 Mon Sep 17 00:00:00 2001 From: Francis Dupont Date: Fri, 26 Jan 2018 11:50:55 +0100 Subject: [PATCH] [5515] Fixed the bug --- src/bin/dhcp4/dhcp4_srv.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/bin/dhcp4/dhcp4_srv.cc b/src/bin/dhcp4/dhcp4_srv.cc index ddd6043370..909f27a925 100644 --- a/src/bin/dhcp4/dhcp4_srv.cc +++ b/src/bin/dhcp4/dhcp4_srv.cc @@ -2273,9 +2273,11 @@ Dhcpv4Srv::adjustIfaceData(Dhcpv4Exchange& ex) { (cfg_iface->getSocketType() == CfgIface::SOCKET_UDP) && (cfg_iface->getOutboundIface() == CfgIface::USE_ROUTING)) { + // Mark the response to follow routing response->setLocalAddr(IOAddress::IPV4_ZERO_ADDRESS()); - response->setIface(""); response->resetIndex(); + // But keep the interface name + response->setIface(query->getIface()); } else { @@ -2309,8 +2311,8 @@ Dhcpv4Srv::adjustIfaceData(Dhcpv4Exchange& ex) { // may throw if for some reason the socket is closed. /// @todo Consider an optimization that we use local address from /// the query if this address is not broadcast. - response->setIface(query->getIface()); response->setIndex(query->getIndex()); + response->setIface(query->getIface()); } response->setLocalPort(DHCP4_SERVER_PORT); -- 2.47.2