2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-22 01:49:48 +00:00
Thomas Markwalder 2fed7e62a4 [#3770] CfgOption and CB v4 use client-classes
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
2025-07-15 14:02:03 +00:00
2025-04-17 15:15:06 +03:00
2025-07-10 19:13:31 +03:00
2025-03-17 13:04:38 +02:00
2025-02-21 18:43:18 +02:00
2025-06-20 17:30:19 +02:00
2020-07-21 18:38:46 +02:00
2025-04-23 23:15:59 +03:00
2025-04-23 23:15:59 +03:00
2025-03-13 18:03:36 +01:00
2025-06-17 16:27:56 +02:00
2025-06-20 11:44:54 +00:00

Kea provides DHCPv4 and DHCPv6 servers, a dynamic DNS update module,
a portable DHCP library, libdhcp++, a control agent that provides a management
REST interface, a NETCONF agent that provides a YANG/NETCONF interface for Kea,
and a DHCP benchmarking tool, perfdhcp.

Kea is developed by Internet Systems Consortium, Inc.

The developers' website is at https://gitlab.isc.org/isc-projects/kea/.

Limitations, known issues, and feature requests can be found
at https://gitlab.isc.org/isc-projects/kea/-/wikis/known-issues-list.

If you are thinking about contributing a patch, please read the
Contributor's Guide first. Participants in this project implicitly agree to
abide by the project's Code of Conduct.

The Kea mailing lists are available via https://lists.isc.org/.
Description
No description provided
Readme 142 MiB
Languages
C++ 94.1%
Shell 3.4%
PLpgSQL 0.7%
LLVM 0.6%
Meson 0.6%
Other 0.6%