v4 CfgOption and CB internals support client-classes
as part of key for updating and delete options.
CB parsing does NOT yet support it as argument.
/src/lib/dhcpsrv/cfg_option.*
Added composite key index type + client_classes to OptionContainer
OptionDescriptor::equals() - add comparision of client_classes_
CfgOption::replace() - Use new type + client_classes index
CfgOption::del(const std::string& option_space, const uint16_t option_code,
const ClientClasses& client_classes) - new function
CfgOption::get(const Selector& key, const uint16_t option_code,
ClientClasses& client_classes) - new function
CfgOption::del(const std::string& option_space, const uint16_t option_code,
const ClientClasses& client_classes);
/src/hooks/dhcp/mysql/mysql_cb_dhcp4.*
Added client-classes to createUpdate and delete option SQL statements and functions
/src/hooks/dhcp/mysql/mysql_cb_impl.*
MySqlConfigBackendImpl::createClientClassesForWhereClause() - new function
/src/hooks/dhcp/pgsql/pgsql_cb_dhcp4.*
Added client-classes to createUpdate and delete option SQL statements and functions
/src/hooks/dhcp/pgsql/pgsql_cb_impl.cc
PgSqlConfigBackendImpl::addClientClassesForWhereClause() - new function
/src/hooks/dhcp/pgsql/tests/pgsql_cb_dhcp4_unittest.cc
/src/hooks/dhcp/pgsql/tests/pgsql_cb_dhcp4_unittest.cc
TEST_F(PgSqlConfigBackendDHCPv4Test, subnetOption4WithClienClassesTest) - new test
/src/lib/dhcp/classify.h b/src/lib/dhcp/classify.h
Added typedef boost::shared_ptr<ClientClasses> ClientClassesPtr;
/src/lib/dhcpsrv/config_backend_dhcp4.h
/src/lib/dhcpsrv/config_backend_pool_dhcp4.*
Udpated with client_classes parameter where needed
/src/lib/dhcpsrv/tests/cfg_option_unittest.cc
TEST_F(CfgOptionTest, optionsWithClientClasses)
TEST_F(CfgOptionTest, replaceWithClientClasses)
TEST_F(CfgOptionTest, deleteWithClientClasses) - new tests
/src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.*
GenericConfigBackendDHCPv4Test::subnetOption4WithClienClassesTest() - new test
/src/lib/dhcpsrv/testutils/test_config_backend_dhcp4.cc
Update functions as needed
src/lib/dhcpsrv/client_class_def.cc
src/lib/dhcpsrv/client_class_def.h
src/lib/dhcpsrv/tests/client_class_def_unittest.cc
New files that define client class storage classes and tests
src/lib/dhcp/classify.h
Amended commentary to reflect how these classes are now being used.
src/lib/dhcp/option.h
Added typedefs:
boost::shared_ptr<Option> OptionPtr;
boost::shared_ptr<OptionCollection> OptionCollectionPtr;
src/lib/dhcpsrv/Makefile.am
Added entries for new files
src/lib/dhcpsrv/tests/Makefile.am
Added entries for new file
src/lib/eval/token.h b/src/lib/eval/token.h
Added typedef:
boost::shared_ptr<Expression> ExpressionPtr;