2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-22 09:57:41 +00:00

35 Commits

Author SHA1 Message Date
Francis Dupont
f98c30e4a8 [#226] Added set/getAdaptiveLeaseTimeThreshold 2025-08-20 17:39:15 +02:00
Thomas Markwalder
d20290497b [#3049] Addressed review comments
Spelling, clean ups, doxygen
Split DdnsParams out to its own files:
	new file:   src/lib/dhcpsrv/ddns_params.cc
	new file:   src/lib/dhcpsrv/ddns_params.h
2025-01-22 15:24:25 +00:00
Thomas Markwalder
bfe892dfa2 [#3049] kea-dhcp4 parsing and UTs
Fully functional in kea-dhcp4 (excluding doc update and CB support)

/doc/examples/kea4/all-keys.json
    Added entries to a pool

/src/bin/dhcp4/dhcp4_lexer.ll
/src/bin/dhcp4/dhcp4_parser.yy
    Added parameters to pools

/src/bin/dhcp4/dhcp4_srv.cc
    Added comment

/src/bin/dhcp4/tests/config_parser_unittest.cc
    TEST_F(Dhcp4ParserTest, poolDdnsParameters) - new test

/src/bin/dhcp4/tests/fqdn_unittest.cc
    TEST_F(NameDhcpv4SrvTest, poolDdnsParametersTest) - new test

/src/bin/dhcp4/tests/get_config_unittest.cc
    Updated

/src/lib/dhcpsrv/parsers/base_network_parser.*
    Moved DDNS parameter parsing to a function template to allow use
    by any class type

/src/lib/dhcpsrv/parsers/dhcp_parsers.cc
    Added DDNS parameter parsing to PoolParser

/src/lib/dhcpsrv/parsers/simple_parser4.cc
    Added paramters to pool

/src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
    TEST_F(DhcpParserTest, validDdnsParmatersPool4) - new test
2025-01-22 15:24:25 +00:00
Francis Dupont
0b4ac6eabe [#3414] Added CSV lease formats 2024-12-06 16:39:12 +00:00
Thomas Markwalder
7eebd1434d [#3592] Addressed review comments
Addressed first round of comments.

Changes to be committed:
modified:   ChangeLog
modified:   doc/sphinx/arm/classify.rst
modified:   doc/sphinx/arm/dhcp4-srv.rst
modified:   doc/sphinx/arm/dhcp6-srv.rst
modified:   src/bin/dhcp4/tests/classify_unittest.cc
modified:   src/lib/dhcp/classify.cc
modified:   src/lib/dhcp/classify.h
modified:   src/lib/dhcpsrv/parsers/base_network_parser.cc
modified:   src/lib/dhcpsrv/parsers/base_network_parser.h
modified:   src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc
2024-11-26 17:19:56 +00:00
Thomas Markwalder
a41077e5dc [#3592] modified in lib dhcp and dhcpsrv
src/lib/dhcp/classify.*
    ClientClasses:intersects() - new function

src/lib/dhcp/tests/classify_unittest.cc
    TEST(ClassifyTest, ClientClassesIntersects) - new test

src/lib/dhcpsrv/cfg_option.cc
    OptionDescriptor::allowedForClientClasses() use inet intersects() function

src/lib/dhcpsrv/dhcpsrv_messages.mes
    DHCPSRV_CLIENT_CLASS_DEPRECATED - new message

src/lib/dhcpsrv/network.*
    Network - replaced client_class_ string with client_classes_  container
    Network::clientSupported() - uses new intersects() function
    Network::allowClientClass() - modified to insert
    Network::toElement() - updated

src/lib/dhcpsrv/parsers/base_network_parser.*
    BaseNetworkParser::getClientClassesElem() - new function

src/lib/dhcpsrv/parsers/dhcp_parsers.cc
src/lib/dhcpsrv/parsers/shared_network_parser.cc
    Updated parsers to use BaseNetworkParser::getClientClassesElem()

src/lib/dhcpsrv/parsers/simple_parser4.cc
src/lib/dhcpsrv/parsers/simple_parser6.cc
    Added client-classes

src/lib/dhcpsrv/pool.*
    replaced client_class_ string with client_classes_  container
    Pool::clientSupported()-  use new intersects() function

src/lib/dhcpsrv/shared_network.cc
    ShareNetwork::getPreferredSubnet() - updated

src/lib/dhcpsrv/tests/cfg_subnets4_unittest.cc
src/lib/dhcpsrv/tests/cfg_subnets6_unittest.cc
    Updated tests

src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
    TEST_F(DhcpParserTest, deprecatedClientClassSubnet4)
    TEST_F(DhcpParserTest, deprecatedClientClassSubnet6) {
    TEST_F(DhcpParserTest, deprecatedClientClassPool4) {
    TEST_F(DhcpParserTest, deprecatedClientClassPool6) {

src/lib/dhcpsrv/tests/network_unittest.cc
    Removed inheritance support check

src/lib/dhcpsrv/tests/pool_unittest.cc
    Updated tests

src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc
    TEST_F(SharedNetwork4ParserTest, deprecatedClientClass)
    TEST_F(SharedNetwork6ParserTest, deprecatedClientClass)

src/lib/dhcpsrv/tests/shared_network_unittest.cc
src/lib/dhcpsrv/tests/subnet_unittest.cc
    Updated tests

src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.cc
src/lib/dhcpsrv/testutils/generic_cb_dhcp6_unittest.cc
    Updated tests
2024-11-26 17:19:56 +00:00
Thomas Markwalder
37ff02e12b [#3587] Bulk of the code changes
Everything except parsers, UTs to test
deprecation, and doc.
2024-10-28 07:58:38 -04:00
Andrei Pavel
37ff385e17
[#3431] release changes 2024-05-24 17:22:24 +03:00
Razvan Becheriu
23f7d80c41 [#2959] removed deprecated parameter reservation-mode 2024-05-22 21:37:12 +03:00
Thomas Markwalder
68e1442012 [#2276] Initial impl ddns-resolution-conflict-mode
New Files:
	src/bin/d2/check_exists_add.cc
	src/bin/d2/check_exists_add.h
	src/bin/d2/check_exists_remove.cc
	src/bin/d2/check_exists_remove.h
	src/bin/d2/simple_add_without_dhcid.cc
	src/bin/d2/simple_add_without_dhcid.h
	src/bin/d2/simple_remove_without_dhcid.cc
	src/bin/d2/simple_remove_without_dhcid.h

	src/bin/d2/tests/check_exists_add_unittests.cc
	src/bin/d2/tests/check_exists_remove_unittests.cc
	src/bin/d2/tests/simple_add_without_dhcid_unittests.cc
	src/bin/d2/tests/simple_remove_without_dhcid_unittests.cc

Modified:
	doc/examples/kea4/all-keys.json
	doc/examples/kea4/with-ddns.json
	doc/examples/kea6/all-keys.json
	doc/examples/kea6/with-ddns.json

	src/bin/d2/Makefile.am
	src/bin/d2/check_exists_add.cc
	src/bin/d2/check_exists_add.h
	src/bin/d2/check_exists_remove.cc
	src/bin/d2/check_exists_remove.h
	src/bin/d2/d2_update_mgr.cc
	src/bin/d2/simple_add_without_dhcid.cc
	src/bin/d2/simple_add_without_dhcid.h
	src/bin/d2/simple_remove_without_dhcid.cc
	src/bin/d2/simple_remove_without_dhcid.h
	src/bin/d2/tests/Makefile.am
	src/bin/d2/tests/check_exists_add_unittests.cc
	src/bin/d2/tests/check_exists_remove_unittests.cc
	src/bin/d2/tests/d2_process_unittests.cc
	src/bin/d2/tests/d2_queue_mgr_unittests.cc
	src/bin/d2/tests/d2_update_mgr_unittests.cc
	src/bin/d2/tests/nc_add_unittests.cc
	src/bin/d2/tests/nc_remove_unittests.cc
	src/bin/d2/tests/simple_add_unittests.cc
	src/bin/d2/tests/simple_add_without_dhcid_unittests.cc
	src/bin/d2/tests/simple_remove_unittests.cc
	src/bin/d2/tests/simple_remove_without_dhcid_unittests.cc

    src/bin/dhcp4/dhcp4_lexer.cc
    src/bin/dhcp4/dhcp4_lexer.ll
	src/bin/dhcp4/dhcp4_parser.cc
	src/bin/dhcp4/dhcp4_parser.h
	src/bin/dhcp4/dhcp4_parser.yy
	src/bin/dhcp4/json_config_parser.cc
	src/bin/dhcp4/location.hh
	src/bin/dhcp4/parser_context.h
	src/bin/dhcp4/tests/config_parser_unittest.cc
	src/bin/dhcp4/tests/d2_unittest.cc
	src/bin/dhcp4/tests/fqdn_unittest.cc
	src/bin/dhcp4/tests/get_config_unittest.cc

	src/bin/dhcp6/dhcp6_lexer.cc
	src/bin/dhcp6/dhcp6_lexer.ll
	src/bin/dhcp6/dhcp6_parser.cc
	src/bin/dhcp6/dhcp6_parser.h
	src/bin/dhcp6/dhcp6_parser.yy
	src/bin/dhcp6/dhcp6_srv.cc
	src/bin/dhcp6/json_config_parser.cc
	src/bin/dhcp6/location.hh
	src/bin/dhcp6/parser_context.h
	src/bin/dhcp6/tests/config_parser_unittest.cc
	src/bin/dhcp6/tests/d2_unittest.cc
	src/bin/dhcp6/tests/fqdn_unittest.cc
	src/bin/dhcp6/tests/get_config_unittest.cc

	src/lib/d2srv/testutils/nc_test_utils.cc
	src/lib/d2srv/testutils/nc_test_utils.h

	src/lib/dhcp_ddns/ncr_msg.cc
	src/lib/dhcp_ddns/ncr_msg.h
	src/lib/dhcp_ddns/tests/ncr_udp_unittests.cc
	src/lib/dhcp_ddns/tests/ncr_unittests.cc

	src/lib/dhcpsrv/cfg_globals.cc
	src/lib/dhcpsrv/cfg_globals.h
	src/lib/dhcpsrv/ncr_generator.cc
	src/lib/dhcpsrv/network.cc
	src/lib/dhcpsrv/network.h
	src/lib/dhcpsrv/parsers/base_network_parser.cc
	src/lib/dhcpsrv/parsers/base_network_parser.h
	src/lib/dhcpsrv/parsers/simple_parser4.cc
	src/lib/dhcpsrv/parsers/simple_parser6.cc
	src/lib/dhcpsrv/srv_config.cc
	src/lib/dhcpsrv/srv_config.h
	src/lib/dhcpsrv/tests/d2_udp_unittest.cc
	src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
	src/lib/dhcpsrv/tests/ncr_generator_unittest.cc
	src/lib/dhcpsrv/tests/network_unittest.cc
	src/lib/dhcpsrv/tests/srv_config_unittest.cc
2023-07-06 14:27:25 +00:00
Thomas Markwalder
bacd10114d [#225] Addressed review comments
Mostly minor nits and cosmetics:

modified:
doc/sphinx/arm/dhcp4-srv.rst
doc/sphinx/arm/dhcp6-srv.rst
src/bin/dhcp6/tests/fqdn_unittest.cc
src/lib/dhcpsrv/ncr_generator.cc
src/lib/dhcpsrv/parsers/base_network_parser.h
src/lib/dhcpsrv/srv_config.h
src/lib/dhcpsrv/tests/client_class_def_parser_unittest.cc
src/lib/dhcpsrv/tests/ncr_generator_unittest.cc
2023-03-24 12:50:00 -04:00
Thomas Markwalder
904f4d2611 [#225] Added ddsn-ttl-percent parameter
kea-dhcp4/6 both now support ddns-ttl-percent
at the global, shared-network, and subnet scopes.
If specified it is the percentage of the lease
lifetime to send to D2.

Not yet supported by CB.

modified:
doc/examples/kea4/all-keys.json
doc/examples/kea6/all-keys.json
src/bin/dhcp4/dhcp4_lexer.cc
src/bin/dhcp4/dhcp4_lexer.ll
src/bin/dhcp4/dhcp4_parser.cc
src/bin/dhcp4/dhcp4_parser.h
src/bin/dhcp4/dhcp4_parser.yy
src/bin/dhcp4/json_config_parser.cc
src/bin/dhcp4/location.hh
src/bin/dhcp6/dhcp6_lexer.cc
src/bin/dhcp6/dhcp6_lexer.ll
src/bin/dhcp6/dhcp6_parser.cc
src/bin/dhcp6/dhcp6_parser.h
src/bin/dhcp6/dhcp6_parser.yy
src/bin/dhcp6/dhcp6_srv.cc
src/bin/dhcp6/json_config_parser.cc
src/bin/dhcp6/location.hh
src/bin/dhcp6/tests/fqdn_unittest.cc
src/lib/dhcpsrv/cfg_globals.cc
src/lib/dhcpsrv/cfg_globals.h
src/lib/dhcpsrv/dhcpsrv_messages.cc
src/lib/dhcpsrv/dhcpsrv_messages.h
src/lib/dhcpsrv/dhcpsrv_messages.mes
src/lib/dhcpsrv/ncr_generator.cc
src/lib/dhcpsrv/ncr_generator.h
src/lib/dhcpsrv/network.cc
src/lib/dhcpsrv/network.h
src/lib/dhcpsrv/parsers/base_network_parser.cc
src/lib/dhcpsrv/parsers/base_network_parser.h
src/lib/dhcpsrv/parsers/simple_parser4.cc
src/lib/dhcpsrv/parsers/simple_parser6.cc
src/lib/dhcpsrv/srv_config.cc
src/lib/dhcpsrv/srv_config.h
src/lib/dhcpsrv/tests/ncr_generator_unittest.cc
src/lib/dhcpsrv/tests/network_unittest.cc
src/lib/dhcpsrv/tests/srv_config_unittest.cc
2023-03-24 12:50:00 -04:00
Thomas Markwalder
ef3281460d [#2719] Renamed parameter and added it to classes
Renamed offer-lft to offer-lifetime to match other
lifetime parameters.
2023-03-23 07:17:48 -04:00
Thomas Markwalder
1ea70ecc43 [#2719] Adds offer_lft to globali and network scopes
offer-lft added to global, shared-network4, and subnet4
Can be set/fetched/parsed but does nothing yet.

src/lib/dhcpsrv/parsers/simple_parser4.cc
src/lib/dhcpsrv/cfg_globals.*
    Add offer-lft to global, shared-network4, and subnet4 values

src/lib/dhcpsrv/network.*
    Add offer_lft_ to Network4

src/lib/dhcpsrv/parsers/base_network_parser.*
    BaseNetworkParser::parseOfferLft() - new function

src/lib/dhcpsrv/parsers/dhcp_parsers.cc
    Subnet4ConfigParser::initSubnet()

src/lib/dhcpsrv/parsers/shared_network_parser.cc
    SharedNetwork4Parser::parse() - add call to parseOfferLft()

src/lib/dhcpsrv/tests/alloc_engine4_unittest.cc
    TEST_F(AllocEngine4Test, discoverOfferLft) - new test, currently
    fails because impl is missing.

src/lib/dhcpsrv/tests/cfg_shared_networks4_unittest.cc
src/lib/dhcpsrv/tests/cfg_subnets4_unittest.cc
src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
src/lib/dhcpsrv/tests/network_unittest.cc
src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc
    Updated tests to account for offer-lft

src/bin/dhcp4/dhcp4_lexer.ll
src/bin/dhcp4/dhcp4_parser.yy
src/bin/dhcp4/json_config_parser.cc
    Added offer-lft

src/bin/dhcp4/tests/get_config_unittest.cc
    Regenerated tests.
2023-03-23 07:17:48 -04:00
Wlodek Wencel
e0f96268f8 [#2732] release changes 2023-01-23 19:18:49 +01:00
Marcin Siodelski
927ac35562 [#969] Improve allocator parsing code 2023-01-07 11:45:06 +01:00
Andrei Pavel
cd64f52014
[#2290] release changes 2022-01-25 18:17:54 +02:00
Francis Dupont
a5871b3983 [#1082] Checkpoint: updated failing UTs 2022-01-06 14:48:45 +02:00
Thomas Markwalder
ba98ea39a4 [#1635] Added valid-lifetime to v4 client class
Client class definitions in kea-dhcp4 will now parse
and store valid lifetime triplet (e.g. min-valid-lifetime,
valid-lifetime, and max-valid-lifetime).  Does nothing
with it yet.

src/bin/dhcp4/dhcp4_lexer.ll
src/bin/dhcp4/dhcp4_parser.yy b/src/bin/dhcp4/dhcp4_parser.yy
    Added support for valid-lifetime triplet to client class
    definitions

src/lib/cc/simple_parser.*
    SimpleParser::const Triplet<uint32_t>SimpleParser::parseIntTriplet()
    - was formerly dhcp::BaseNetworkParser::parseLifetime()

src/lib/dhcpsrv/client_class_def.*
    ClientClassDef::ClientClassDef
    - added Triplet<uint32_t>valid_  member

src/lib/dhcpsrv/parsers/base_network_parser.*
    Extracted BaseNetworkParser::parseLifetime - relocated
    to cc::SimpleParser

src/lib/dhcpsrv/parsers/client_class_def_parser.cc
    ClientClassDefParser::parse - added call to parseIntTriplet
    to parse valid-lifetime

src/lib/dhcpsrv/parsers/dhcp_parsers.cc
src/lib/dhcpsrv/parsers/shared_network_parser.cc
    Replaced calls parseLifeTime() with parseIntTriplet()

src/lib/dhcpsrv/tests/client_class_def_parser_unittest.cc
    TEST_F(ClientClassDefParserTest, validLifetimeTests) - new test
2021-02-19 13:21:17 -05:00
Razvan Becheriu
45126cf3f7 [#1405] clean up 2020-11-18 15:55:24 +02:00
Razvan Becheriu
d26a72f560 [#1405] merged second pass 2020-11-18 15:55:23 +02:00
Razvan Becheriu
ab2f01f8c0 [#1405] addressed comments 2020-11-18 15:55:23 +02:00
Razvan Becheriu
02ac459451 [#1405] added parser class 2020-11-18 15:55:22 +02:00
Francis Dupont
2fbc4fc0e3 [#1418] Checkpoint: more renames 2020-10-02 17:10:31 +02:00
Francis Dupont
2505d5e3fd [#1418] Checkpoint: updated library, a syntax regen is required 2020-10-02 16:48:59 +02:00
Wlodek Wencel
a8aed452db [#1201] 1.7.7 pre-release changees 2020-04-27 10:46:30 +02:00
Francis Dupont
26cc6b8201 [#1010] Cosmetics 2020-04-02 22:02:38 +02:00
Thomas Markwalder
4d3cb9ab14 [#1010] Modified AllocateEngine and parsers to store extended v6 lease info
src/lib/dhcpsrv/alloc_engine.*
    AllocEngine::reuseExpiredLease()
    AllocEngine::createLease6()
    AllocEngine::extendLease6() - added call to AllocEngine::updateLase6ExtendedInfo()

    AllocEngine::updateLease4ExtendedInfo() - create Elements directly

    AllocEngine::updateLease6ExtendedInfo() - new method

src/lib/dhcpsrv/tests/alloc_engine6_unittest.cc
    TEST_F(AllocEngine6ExtendedInfoTest, updateExtendedInfo6)
    TEST_F(AllocEngine6ExtendedInfoTest, storeExtendedInfoEnabled6)
    TEST_F(AllocEngine6ExtendedInfoTest, storeExtendedInfoDisabled6)
    TEST_F(AllocEngine6ExtendedInfoTest, reuseExpiredLease6)
    - new tests

src/lib/dhcpsrv/parsers/dhcp_parsers.cc
src/lib/dhcpsrv/parsers/shared_network_parser.cc
src/lib/dhcpsrv/parsers/base_network_parser.*
    Renamed BaseNetworkParser::parseCommonTimer() to parseCommon() and
    added handling of store-extended-info.

src/lib/dhcpsrv/parsers/simple_parser6.cc
    Added store-extended-info

src/lib/dhcpsrv/tests/cfg_shared_networks6_unittest.cc
src/lib/dhcpsrv/tests/cfg_subnets6_unittest.cc
src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
src/lib/dhcpsrv/tests/network_unittest.cc
src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc
    updated tests
2020-04-02 21:08:09 +02:00
Thomas Markwalder
e782a9d5a7 [#35,!517] Added DDDNS parameters to networks,subnets, and their parsers
src/lib/dhcpsrv/network.*
    Network - added DDNS parameters: Optional members, getters, setters
    Network::toElement() - added DDNS parameters

src/lib/dhcpsrv/parsers/base_network_parser.*
    BaseNetworkParser::parseDdnsParams() - new method to parse DDNS parameters

    BaseNetworkParser::parseLifetime() - fixed unitialized variables warning

src/lib/dhcpsrv/parsers/dhcp_parsers.cc
    Subnet4ConfigParser::initSubnet()
    Subnet6ConfigParser::initSubnet()  - added call to parseDdnsParms().

src/lib/dhcpsrv/parsers/shared_network_parser.cc
    SharedNetwork4Parser::parse()
    SharedNetwork6Parser::parse() - added call to parseDdnsParms().

src/lib/dhcpsrv/parsers/simple_parser4.cc
    SimpleParser4::GLOBAL4_PARAMETERS
    SimpleParser4::GLOBAL4_DEFAULTS
    SimpleParser4::SUBNET4_PARAMETERS
    SimpleParser4::INHERIT_TO_SUBNET4
    SimpleParser4::SHARED_NETWORK4_PARAMETERS - added DDNS parameters

src/lib/dhcpsrv/parsers/simple_parser6.cc
    SimpleParser6::GLOBAL6_PARAMETERS
    SimpleParser6::GLOBAL6_DEFAULTS
    SimpleParser6::SUBNET6_PARAMETERS
    SimpleParser6::INHERIT_TO_SUBNET6
    SimpleParser6::SHARED_NETWORK6_PARAMETERS - added DDNS parameters

src/lib/dhcpsrv/tests/cfg_shared_networks4_unittest.cc
src/lib/dhcpsrv/tests/cfg_shared_networks6_unittest.cc
src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
src/lib/dhcpsrv/tests/network_unittest.cc
src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc
src/lib/dhcpsrv/tests/shared_network_unittest.cc
src/lib/dhcpsrv/tests/subnet_unittest.cc
    Updated tests.
2019-10-10 08:32:44 -04:00
Francis Dupont
da42fc316e [295-min-max-lease-time-configuration-options] checkpoint 2019-06-22 10:05:23 -04:00
Thomas Markwalder
1ac890724b [#618,!339] Fixed doxygen errors
doc/Doxyfile
    Increased DOT_GRAPH_MAX_NODES to get rid of too large error
    on exceptions.h

Fixed numerous missing parameters in several files and some oddities
that were causing doxygen errors.
2019-05-24 15:30:29 -04:00
Francis Dupont
a55ba6476d [517-remote-network4-set-doesn-t-save-some-parameters] Fixed parameter documentation 2019-04-16 11:11:07 +02:00
Marcin Siodelski
e6533001e9 [#517,!301] Shared network parser supports reservation-mode parameter. 2019-04-16 11:11:07 +02:00
Marcin Siodelski
f3400b9872 [#488,!259] Rename parameters in the base network parser. 2019-03-07 08:00:36 -05:00
Marcin Siodelski
09c5653d82 [#488,!259] Extracted common parsing functions to a new class. 2019-03-07 08:00:36 -05:00