diff --git a/src/bin/dhcp4/dhcp4_srv.cc b/src/bin/dhcp4/dhcp4_srv.cc index 744833e13c..13c363160d 100644 --- a/src/bin/dhcp4/dhcp4_srv.cc +++ b/src/bin/dhcp4/dhcp4_srv.cc @@ -221,7 +221,9 @@ Dhcpv4Exchange::Dhcpv4Exchange(const AllocEnginePtr& alloc_engine, CfgMgr::instance().getCurrentCfg()->getClientClassDictionary(); const ClientClassDefListPtr& defs_ptr = dict->getClasses(); for (auto def : *defs_ptr) { - context_->query_->classes_.erase(def->getName()); + if (def->getMatchExpr()) { + context_->query_->classes_.erase(def->getName()); + } } setReservedClientClasses(context_); evaluateClasses(context_->query_, false); diff --git a/src/bin/dhcp6/dhcp6_srv.cc b/src/bin/dhcp6/dhcp6_srv.cc index 95629d6fb6..bf80801b49 100644 --- a/src/bin/dhcp6/dhcp6_srv.cc +++ b/src/bin/dhcp6/dhcp6_srv.cc @@ -471,7 +471,9 @@ Dhcpv6Srv::initContext(const Pkt6Ptr& pkt, CfgMgr::instance().getCurrentCfg()->getClientClassDictionary(); const ClientClassDefListPtr& defs_ptr = dict->getClasses(); for (auto def : *defs_ptr) { - ctx.query_->classes_.erase(def->getName()); + if (def->getMatchExpr()) { + ctx.query_->classes_.erase(def->getName()); + } } setReservedClientClasses(pkt, ctx); evaluateClasses(pkt, false);