parser = new ExpirationConfigParser();
} else if (config_id.compare("client-classes") == 0) {
parser = new ClientClassDefListParser(config_id, globalContext());
- } else if (config_id.compare("server-id") == 0) {
- parser = new DUIDConfigParser();
+ // host-reservation-identifiers have been converted to SimpleParser already.
+ // server-id has been migrated to SimpleParser
- } else if (config_id.compare("host-reservation-identifiers") == 0) {
- parser = new HostReservationIdsParser6();
} else {
isc_throw(DhcpConfigError,
"unsupported global configuration parameter: "
continue;
}
+ if (config_pair.first == "host-reservation-identifiers") {
+ HostReservationIdsParser6 parser;
+ parser.parse(config_pair.second);
+ continue;
+ }
+
+ if (config_pair.first == "server-id") {
+ DUIDConfigParser parser;
+ const CfgDUIDPtr& cfg = CfgMgr::instance().getStagingCfg()->getCfgDUID();
+ parser.parse(cfg, config_pair.second);
+ continue;
+ }
+
ParserPtr parser(createGlobal6DhcpConfigParser(config_pair.first,
config_pair.second));
LOG_DEBUG(dhcp6_logger, DBG_DHCP6_DETAIL, DHCP6_PARSER_CREATED)