]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[5515] Fixed the bug
authorFrancis Dupont <fdupont@isc.org>
Fri, 26 Jan 2018 10:50:55 +0000 (11:50 +0100)
committerMarcin Siodelski <marcin@isc.org>
Wed, 16 May 2018 11:50:05 +0000 (13:50 +0200)
src/bin/dhcp4/dhcp4_srv.cc

index ddd6043370c678c6b98cfabe8de891339d52de54..909f27a925fd6260483cc890247f14ccec79dd03 100644 (file)
@@ -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);