2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-09-05 08:25:16 +00:00
Commit Graph

631 Commits

Author SHA1 Message Date
Razvan Becheriu
47589c8e3e [#1548] fixed comments and code cleanup 2022-04-21 10:19:20 -04:00
Thomas Markwalder
beeadfcd15 [#1548] kea-dhcpX update outbound fqdn after ddnsX_update
Moved responsibility from hook lib to servers. This makes the hook
point more uniformly usable to custom hook developers

src/bin/dhcp4/dhcp4_srv.cc
    Dhcpv4Srv::processClientName() - update the FQDN option
    in response as part of ddns4_update hook point logic

src/bin/dhcp6/dhcp6_srv.cc
    Dhcpv6Srv::processClientFqdn() - update the FQDN option
    in response as part of ddns6_update hook point logic
2022-04-21 10:19:20 -04:00
Thomas Markwalder
f7da5d58bb [#1548] kea-dhcp6 now supports ddns6_update hook point
src/bin/dhcp6/dhcp6_messages.cc b/src/bin/dhcp6/dhcp6_messages.*
    added DHCP6_HOOK_DDNS_UPDATE log message

src/bin/dhcp6/dhcp6_srv.cc
    Dhcpv6Srv::processClientFqdn() - added ddns6_update() hook point
2022-04-21 10:19:20 -04:00
Razvan Becheriu
d41571ce17 [#2116] remove cql code 2022-03-31 08:11:37 +00:00
Razvan Becheriu
bdd4db1ded [#2249] addressed comments 2022-03-15 06:44:49 +02:00
Francis Dupont
f064948ba0 [#2249] Checkpoint: doc to finish 2022-03-14 20:27:13 +02:00
Francis Dupont
88a932fbbf [#2249] Addressed comments 2022-03-14 20:22:51 +02:00
Francis Dupont
06be19c83e [#2249] Checkpoint: doc to finish 2022-03-14 20:20:37 +02:00
Razvan Becheriu
721aa11566 [#2181] revert type change for pkt options_ member 2022-03-05 07:16:37 +00:00
Razvan Becheriu
4d26dae299 [#2181] pkt now uses OptionCollectionPtr instead of OptionCollection 2022-03-05 07:16:37 +00:00
Razvan Becheriu
163efdff92 [#2054] added stats counter for allocation failures 2022-02-17 19:50:29 +02:00
Andrei Pavel
cd64f52014 [#2290] release changes 2022-01-25 18:17:54 +02:00
Andrei Pavel
eebc2a3cd1 [#2236] split memfile version into v4 and v6 2022-01-08 11:05:52 +02:00
Thomas Markwalder
68a8b91b08 [#1622] Fixed v6 incorrect DNS update flags
kea-dhcp6 now correctly determines DNS update flags when
the allocation engine dynamically re-selects the lease's
network

Added ChangeLog entry

src/bin/dhcp6/dhcp6_srv.*
    Dhcpv6Srv::assignLeases() removed response parameter from calls that no
    longer need it

    Dhcpv6Srv::processClientFqdn() - now sets the context DNS direction flags

    Dhcpv6Srv::assignIA_NA()
    Dhcpv6Srv::extendIA_NA() - no longer set context DNS direction flags, removed
        now unused response parameter

    Dhcpv6Srv::assignIA_PD() - removed unused response parameter

src/bin/dhcp6/tests/fqdn_unittest.cc
    TEST_F(FqdnDhcpv6SrvTest, ddnsSharedNetworkTest)  - now verifies lease DNS flags
    TEST_F(FqdnDhcpv6SrvTest, ddnsSharedNetworkTest2)  - new test to cover broken
    scenario
2021-09-23 08:23:49 -04:00
Thomas Markwalder
c9f19c5322 [#1307] kea-dhcp6 supports parked-packet-limit
src/bin/dhcp6/dhcp6_lexer.ll
src/bin/dhcp6/dhcp6_parser.yy
src/bin/dhcp6/json_config_parser.cc
src/lib/dhcpsrv/parsers/simple_parser6.cc
doc/examples/kea6/all-keys.json
    Added parked-packet-limit

src/bin/dhcp6/dhcp6_messages.*
    DHCP6_HOOK_LEASES6_PARKING_LOT_FULL

src/bin/dhcp6/dhcp6_srv.cc
    Dhcpv6Srv::processDhcp6Query() - drops the packet if the parking
    lot is full

src/bin/dhcp6/tests/get_config_unittest.cc
    updated
2021-09-17 11:10:34 -04:00
Tomek Mrugalski
320f2d2b97 [#1915] Converted some logs to PKT_HANDLING level 2021-06-25 18:57:55 +03:00
Tomek Mrugalski
af3fa21939 [#1915] DROP reasons are now debuglevel 15 2021-06-25 18:56:53 +03:00
Andrei Pavel
272b4f57d3 [#1894] limit docsis oro lookup to cable labs 4491 2021-06-25 16:24:35 +03:00
Andrei Pavel
33f60f8b78 [#1837] comment clarification (minor change) 2021-05-21 23:38:43 +03:00
Andrei Pavel
26859354c5 [#1837] retrieve vendor ID from DHCPv6 option 16 2021-05-21 23:38:43 +03:00
Andrei Pavel
70b36a14f1 [#1721] proper JSON path algorithm redaction 2021-05-21 13:22:00 +00:00
Andrei Pavel
8c7c23451b [#1721] Dhcpv[46]Srv::redactConfig 2021-05-21 13:22:00 +00:00
Thomas Markwalder
3df9289069 [#1818] Added Multithreading CS callbacks to HA
src/bin/dhcp4/dhcp4_srv.cc
    Dhcpv4Srv::run() - added CS prior to MultiThreadingMgr:apply()
    prior to exit

src/bin/dhcp6/dhcp6_srv.cc
    Dhcpv6Srv::run() - added CS prior to MultiThreadingMgr:apply()
    prior to exit

src/hooks/dhcp/high_availability/ha_service.*
    HAService::startClientAndListener() - added call to register
    CS callbacks

    HAService::stopClientAndListener() - added call to remove CS
    callbacks

src/hooks/dhcp/high_availability/tests/ha_mt_unittest.cc
    Revamped to test CS callbacks rather than pause/resume directly.

src/lib/util/Makefile.am
    Added named_callbacks.h/cc

src/lib/util/named_callback.cc
src/lib/util/named_callback.h
    - new files that implement an ordered list of named callbacks

src/lib/util/multi_threading_mgr.*
    MultiThreadingMgr::apply() - removes all CS callbacks when entering
    single-threaded mode

    MultiThreadingMgr::stopProcessing() - formerly stopPktProcessing, added
    call to invoke CS exit callbacks

    MultiThreadingMgr::startProcessing()  - formerly startPktProcessing,
    added call to invoke CS entry callbacks.

    MultiThreadingMgr::addCriticalSectionCallbacks() - new method for
    adding CS callbacks

    MultiThreadingMgr::removeCriticalSectionCallbacks() -  new method for
    removing CS callbacks

    MultiThreadingMgr::removeAllCriticalSectionCallbacks() - new method for
    all CS callbacks

src/lib/util/tests/Makefile.am
    Added named_callback_unittest.cc

src/lib/util/tests/named_callback_unittest.cc - tests for NamedCallback
classes

src/lib/util/tests/multi_threading_mgr_unittest.cc
    CriticalSectionCallbackTest - new test fixture
    TEST_F(CriticalSectionCallbackTest, basics) - new test
2021-05-19 16:14:16 -04:00
Francis Dupont
17ef4c0846 [(no branch, rebasing 1815-add-new-drop-points)] [(no branch, rebasing 1815-add-new-drop-points)] [#1815] Made v6 part 2021-05-19 17:20:35 +02:00
Thomas Markwalder
feb7c199ab [#1733] Addressed review comments
Minor clean-up and typos.

src/hooks/dhcp/high_availability/ha_impl.cc
    HAImpl::leases4Committed()
    HAImpl::leases6Committed() - added try-catch to ensure
    we call dereference on error
2021-04-12 10:37:04 -04:00
Thomas Markwalder
2bf7d39ee1 [#1733] kea-dhcp6 now proactively parks packets
src/bin/dhcp6/dhcp6_srv.cc
    Dhcpv6Srv::processDhcp6Query() - modified to proactively
    park packets.

src/hooks/dhcp/high_availability/ha_impl.cc
    HAImpl::leases4Committed()
    HAImpl::leases6Committed() - revised to reference before the
    call to asynSendLeases() and dereference if it returns 0.

src/hooks/dhcp/high_availability/libloadtests/close_unittests.cc
src/hooks/dhcp/high_availability/tests/ha_impl_unittest.cc
src/hooks/dhcp/high_availability/tests/ha_service_unittest.cc
    Revised tests to park first as needed.

src/lib/hooks/parking_lots.h
    Fixed a typo in throw messages.
2021-04-12 10:37:04 -04:00
Razvan Becheriu
3341494985 [#1657] addressed comments 2021-02-22 16:02:57 +00:00
Razvan Becheriu
59ce7cd57c [#899] fixed log messages 2021-02-18 19:23:57 +02:00
Razvan Becheriu
9adc0b96bf [#899] use IOSignalSet to handle signals 2021-02-18 19:23:57 +02:00
Razvan Becheriu
812fb67d8b [#899] fixed hook point arguments 2021-02-18 19:14:26 +02:00
Andrei Pavel
c53e135833 [#1656] 1.9.4 release: update copyrights 2021-01-25 13:52:09 +02:00
Razvan Becheriu
0a8041fded [#1627] removed mutex in derived classes 2021-01-25 11:38:21 +00:00
Francis Dupont
38ba6b502d [#1418] Addressed some comments 2021-01-11 16:05:46 +01:00
Francis Dupont
615465ece6 [#1418] Changed remaining_ for reusable_ 2021-01-11 16:05:46 +01:00
Francis Dupont
65b7546e32 [#1418] Updated v6 tests and doc 2021-01-11 16:05:46 +01:00
Francis Dupont
c2b76072a1 [#1418] Checkpoint: todo v6 server UT and doc 2021-01-11 16:05:46 +01:00
Francis Dupont
64dfcb3503 [#1418] Checkpoint: small improvements 2021-01-11 16:05:46 +01:00
Francis Dupont
e78fbe1a4f [#1418] Checkpoint: preparation code done 2021-01-11 16:05:46 +01:00
Thomas Markwalder
fa63b59f19 [#936] kea-dhcpX now calculates DDNS TTL
DDNS TTL is now calculated based on RFC 4702 Sec 5 guidelines.

src/lib/dhcpsrv/ncr_generator.*
    calculateDdnsTtl() - new function to calculate DNS RR TTL from a lease
    life time

    queueNCRCommon() - modified to use calculateDdnsTtl()

src/lib/dhcpsrv/tests/ncr_generator_unittest.cc
    Updated unit tests

src/bin/dhcp6/dhcp6_srv.cc
    Dhcpv6Srv::createNameChangeRequests() - modified to use calculateDdnsTtl()

src/bin/dhcp4/tests/fqdn_unittest.cc
src/bin/dhcp6/tests/fqdn_unittest.cc
    Updated unit tests
2020-12-08 21:00:23 +00:00
Francis Dupont
3a8346f6e6 [#1449] Addressed last comment 2020-12-02 14:55:13 +01:00
Francis Dupont
834ba9aca7 [#1449] Addressed comments 2020-12-02 12:25:08 +01:00
Francis Dupont
7c5455e5a6 [#1449] Fixed v6 appending multiple option instances 2020-12-02 11:35:21 +01:00
Razvan Becheriu
d26a72f560 [#1405] merged second pass 2020-11-18 15:55:23 +02:00
Razvan Becheriu
8d05ba02b2 [#1405] merged first pass 2020-11-18 15:55:23 +02:00
Thomas Markwalder
20ed6f005f [#1386] ddns-use-conflict-resolution works end-to-end
kea-dhcp<4/6> now populate NameChangeRequest::conflict_resolution_
with the appropriate value.

src/bin/dhcp6/dhcp6_srv.cc
    Dhcpv6Srv::createNameChangeRequests() - set use conflict resolution
    in explictly created NameChangeRequest

src/lib/dhcpsrv/ncr_generator.cc
    queueNCRCommon() - added use_conflict_resolution parameter

    queueNCR(const NameChangeType& chg_type, const Lease4Ptr& lease)
    queueNCR(const NameChangeType& chg_type, const Lease6Ptr& lease)
    - set conflict resolution flag from lease's subnet

src/bin/dhcp4/tests/fqdn_unittest.cc
    TEST_F(NameDhcpv4SrvTest, noConflictResolution)

src/bin/dhcp6/tests/fqdn_unittest.cc
    TEST_F(FqdnDhcpv6SrvTest, noConflictResolution)

src/lib/dhcpsrv/tests/ncr_generator_unittest.cc
    udpated  to create subnets and attach them to leases

    TEST_F(NCRGenerator6Test, useConflictResolution)
    TEST_F(NCRGenerator4Test, useConflictResolution)
    - new tests
2020-10-23 14:55:05 +00:00
Thomas Markwalder
eb68fc3b81 [#1385] kea-dhcp6 supports ddns-update-on-renew
(Parsers need to be regenerated)

    src/bin/dhcp6/dhcp6_lexer.ll
    src/bin/dhcp6/dhcp6_parser.yy
    src/bin/dhcp6/json_config_parser.cc
        added ddns-update-on-renew parameter

    src/bin/dhcp6/dhcp6_srv.*
        Dhcpv4Srv::createNameChangeRequests() - modified to
        use ddns-update-on-renew in logic

    src/bin/dhcp6/tests/fqdn_unittest.cc
        TEST_F(FqdnDhcpv6SrvTest, processRequestRenew) - new test

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

    doc/examples/kea4/all-keys.json
    doc/examples/kea6/all-keys.json
        added ddns-update-on-renew parameter
2020-10-09 16:51:28 +02:00
Thomas Markwalder
025c2e7f7b [#1389] V6 uses DDNS parameters from correct subnet
src/bin/dhcp6/dhcp6_srv.cc
    Dhcpv6Srv::checkDynamicSubnetChange() - new method to detect
    and account for dynamic subnet changes.

    Dhcpv6Srv::assignLeases() -  replaced logic to log dynamic
    subnet change with call to checkDynamicSubnetChange()

    Dhcpv6Srv::extendLeases() - added call to checkDynamicSubnetChange()

src/bin/dhcp6/tests/dhcp6_client.cc

src/bin/dhcp6/tests/dhcp6_client.cc
    Dhcp6Client::doRenew() - relocated appendFQDN() so it
    actually has an effect.

src/bin/dhcp6/tests/fqdn_unittest.cc
    TEST_F(FqdnDhcpv6SrvTest, ddnsSharedNetworkTest) new test
2020-09-25 07:36:03 +00:00
Francis Dupont
2c2dfd8f0c [#1333] Improved comment 2020-09-18 16:26:46 +02:00
Francis Dupont
46926f290e [#1333] Added comment 2020-09-18 16:26:46 +02:00
Francis Dupont
5e69b754cd [#1333] Added match expr check 2020-09-18 16:26:46 +02:00