From: Francis Dupont Date: Fri, 26 Jan 2018 10:50:55 +0000 (+0100) Subject: [5515] Fixed the bug X-Git-Tag: trac5549a_base~25^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a1de5126786fb3fe1c1dacb4ce69f9d589380c62;p=thirdparty%2Fkea.git [5515] Fixed the bug --- 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);