void
BaseNetworkParser::parseHostReservationModes(const data::ConstElementPtr& network_data,
NetworkPtr& network) {
+ bool found = false;
+ if (network_data->contains("reservations-out-of-pool")) {
+ found = true;
+ }
+ if (network_data->contains("reservations-in-subnet")) {
+ found = true;
+ }
+ if (network_data->contains("reservations-global")) {
+ found = true;
+ }
if (network_data->contains("reservation-mode")) {
- bool found = false;
- if (network_data->contains("reservations-out-of-pool")) {
- found = true;
- }
- if (network_data->contains("reservations-in-subnet")) {
- found = true;
- }
- if (network_data->contains("reservations-global")) {
- found = true;
- }
if (found) {
isc_throw(DhcpConfigError, "invalid use of both 'reservation-mode'"
" and one of 'reservations-out-of-pool'"
" 'reservations-global' parameters");
}
}
+ if (!found) {
+ return;
+ }
try {
HostReservationModesParser parser;
Network::HRMode flags = parser.parse(network_data);