|
@@ -164,7 +164,7 @@ public:
|
|
/// @param ignored first parameter
|
|
/// @param ignored first parameter
|
|
/// stores global scope parameters, options, option defintions.
|
|
/// stores global scope parameters, options, option defintions.
|
|
Subnet4ConfigParser(const std::string&)
|
|
Subnet4ConfigParser(const std::string&)
|
|
- :SubnetConfigParser("", globalContext()) {
|
|
|
|
|
|
+ :SubnetConfigParser("", globalContext(), IOAddress("0.0.0.0")) {
|
|
}
|
|
}
|
|
|
|
|
|
/// @brief Adds the created subnet to a server's configuration.
|
|
/// @brief Adds the created subnet to a server's configuration.
|
|
@@ -178,6 +178,11 @@ public:
|
|
"Invalid cast in Subnet4ConfigParser::commit");
|
|
"Invalid cast in Subnet4ConfigParser::commit");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // Set relay information if it was parsed
|
|
|
|
+ if (relay_info_) {
|
|
|
|
+ sub4ptr->setRelay(*relay_info_);
|
|
|
|
+ }
|
|
|
|
+
|
|
isc::dhcp::CfgMgr::instance().addSubnet4(sub4ptr);
|
|
isc::dhcp::CfgMgr::instance().addSubnet4(sub4ptr);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -204,6 +209,8 @@ protected:
|
|
parser = new StringParser(config_id, string_values_);
|
|
parser = new StringParser(config_id, string_values_);
|
|
} else if (config_id.compare("pool") == 0) {
|
|
} else if (config_id.compare("pool") == 0) {
|
|
parser = new Pool4Parser(config_id, pools_);
|
|
parser = new Pool4Parser(config_id, pools_);
|
|
|
|
+ } else if (config_id.compare("relay") == 0) {
|
|
|
|
+ parser = new RelayInfoParser(config_id, relay_info_, IOAddress("0.0.0.0"));
|
|
} else if (config_id.compare("option-data") == 0) {
|
|
} else if (config_id.compare("option-data") == 0) {
|
|
parser = new OptionDataListParser(config_id, options_,
|
|
parser = new OptionDataListParser(config_id, options_,
|
|
global_context_,
|
|
global_context_,
|