+2117. [func] fdupont
+ Added a new ignore-dhcp-server-identifier DHCPv4 compatibility
+ flag which when set to true (default is false) makes any query
+ to be accepted even when the address in the DHCP Server
+ Identifier option belongs to another server (standard behavior
+ is to drop such queries).
+ (Gitlab #2785)
+
2116. [func] piotrek
Added support of Secure Zero Touch Provisioning options as per
RFC8572. Kea can now handle DHCPv4 Option code #143 and DHCPv6
// identifiers used by a server is accepted,
// - a message with a server identifier which doesn't match any server
// identifier used by a server, is not accepted.
+// - a message with a server identifier which doesn't match any server
+// identifier used by a server is accepted when the DHCP Server Identifier
+// option is configured to be ignored.
TEST_F(Dhcpv4SrvTest, acceptServerId) {
configureServerIdentifier();
IfaceMgrTestConfig test_config(true);
pkt->addOption(other_serverid);
EXPECT_FALSE(srv.acceptServerId(pkt));
+ // Configure the DHCP Server Identifier to be ignored.
+ ASSERT_FALSE(CfgMgr::instance().getCurrentCfg()->getIgnoreServerIdentifier());
+ CfgMgr::instance().getCurrentCfg()->setIgnoreServerIdentifier(true);
+ EXPECT_TRUE(srv.acceptServerId(pkt));
+
+ // Restore the ignore-dhcp-server-identifier compatibility flag.
+ CfgMgr::instance().getCurrentCfg()->setIgnoreServerIdentifier(false);
+ EXPECT_FALSE(srv.acceptServerId(pkt));
+
// Remove the server identifier.
ASSERT_NO_THROW(pkt->delOption(DHO_DHCP_SERVER_IDENTIFIER));