" \"rebind-timer\": 2, "
" \"valid-lifetime\": 4,"
" \"relay\": { "
- " \"ip-addresses\": [ \"192.0.2.123\", \"192.0.2.124\" ]"
+ " \"ip-addresses\": [ \"192.0.3.123\", \"192.0.3.124\" ]"
" },"
" \"subnet\": \"192.0.2.0/24\" } ],"
"\"valid-lifetime\": 4000 }";
// returned value should be 0 (configuration success)
checkResult(status, 0);
+ SubnetSelector selector;
+ selector.giaddr_ = IOAddress("192.0.2.200");
+
Subnet4Ptr subnet = CfgMgr::instance().getStagingCfg()->
- getCfgSubnets4()->selectSubnet(IOAddress("192.0.2.200"));
+ getCfgSubnets4()->selectSubnet(selector);
ASSERT_TRUE(subnet);
EXPECT_TRUE(subnet->hasRelays());
- EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("192.0.2.123")));
- EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("192.0.2.124")));
+ EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("192.0.3.123")));
+ EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("192.0.3.124")));
}
"\"subnet6\": [ { "
" \"pools\": [ { \"pool\": \"2001:db8:1::1 - 2001:db8:1::ffff\" } ],"
" \"relay\": { "
- " \"ip-addresses\": [ \"2001:db8:1::abcd\", \"2001:db8:1::abce\" ]"
+ " \"ip-addresses\": [ \"2001:db9::abcd\", \"2001:db9::abce\" ]"
" },"
" \"subnet\": \"2001:db8:1::/64\" } ],"
"\"preferred-lifetime\": 3000, "
checkResult(status, 0);
Subnet6Ptr subnet = CfgMgr::instance().getStagingCfg()->getCfgSubnets6()->
- selectSubnet(IOAddress("2001:db8:1::1"), classify_);
+ selectSubnet(IOAddress("2001:db9::abcd"), classify_, true);
ASSERT_TRUE(subnet);
EXPECT_TRUE(subnet->hasRelays());
- EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("2001:db8:1::abcd")));
- EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("2001:db8:1::abce")));
+ EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("2001:db9::abcd")));
+ EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("2001:db9::abce")));
}
// Goal of this test is to verify that multiple subnets can be configured
bool
Network::RelayInfo::hasAddresses() const {
- return (addresses_.size() > 0);
+ return (!addresses_.empty());
}
bool
ASSERT_THROW(network = parser.parse(config_element), DhcpConfigError);
}
+// This test verifies that it's possible to specify client-class
+// and match-client-id on shared-network level.
TEST_F(SharedNetwork4ParserTest, clientClassMatchClientId) {
std::string config = getWorkingConfig();
ElementPtr config_element = Element::fromJSON(config);