]>
git.ipfire.org Git - thirdparty/kea.git/log
Thomas Markwalder [Mon, 20 Apr 2026 15:16:29 +0000 (11:16 -0400)]
[#4447] Fixed missed typos
modified: src/hooks/dhcp/pgsql/pgsql_lease_mgr.cc
Thomas Markwalder [Mon, 20 Apr 2026 15:00:31 +0000 (11:00 -0400)]
[#4447] Addresses review comments
modified: changelog_unreleased/4447-shared-flq-allocator-reconcile-sflq-pool-create-and-pick-free-lease-inconsistency
modified: src/hooks/dhcp/mysql/mysql_lease_mgr.cc
modified: src/hooks/dhcp/pgsql/pgsql_lease_mgr.cc
modified: src/lib/dhcpsrv/sflq_allocator.cc
Thomas Markwalder [Sat, 18 Apr 2026 17:01:52 +0000 (13:01 -0400)]
[#4447] Removed left joins from pick functions
Left joins are perf killers. Relying on free
leseseX consistency instead.
a/src/bin/admin/tests/mysql_tests.sh.in
mysql_sflqPickFreeLease6()
mysql_sflqPickFreeLease6()
- updated tests
/src/bin/admin/tests/pgsql_tests.sh.in
pgsql_sflqPickFreeLease6()
pgsql_sflqPickFreeLease6()
- updated tests
/src/lib/dhcpsrv/testutils/generic_lease_mgr_unittest.cc
GenericLeaseMgrTest::testSflqLeaseOps4()
GenericLeaseMgrTest::testSflqLeaseOps6()
- updated tests
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
- remove left join from SFLQ pick functions
/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
/src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
- remove left join from SFLQ pick functions
Thomas Markwalder [Fri, 17 Apr 2026 17:31:11 +0000 (13:31 -0400)]
[#4447] Remove checks after rebase
modified: src/share/database/scripts/mysql/dhcpdb_create.mysql
modified: src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
modified: src/share/database/scripts/pgsql/dhcpdb_create.pgsql
modified: src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Thomas Markwalder [Mon, 13 Apr 2026 17:23:00 +0000 (13:23 -0400)]
[#4447] Fix update stored procedures
Fix merge mistake which left expiration check in update
stored procedures.
modified: src/bin/admin/tests/mysql_tests.sh.in
modified: src/share/database/scripts/mysql/dhcpdb_create.mysql
modified: src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
modified: src/share/database/scripts/pgsql/dhcpdb_create.pgsql
modified: src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Thomas Markwalder [Tue, 7 Apr 2026 19:39:39 +0000 (15:39 -0400)]
[#4447] Do not include expired in SFLQ
/src/bin/admin/tests/mysql_tests.sh.in
Updated tests:
mysql_sflqCreateFlqPool4()
mysql_sflqCreateFlqPool6()
mysql_sflqInsertLease4()
mysql_sflqUpdateLease4()
mysql_sflqInsertLease6()
mysql_sflqUpdateLease6()
/src/bin/admin/tests/pgsql_tests.sh.in
Updated tests:
pgsql_sflqCreateFlqPool4()
pgsql_sflqCreateFlqPool6()
pgsql_sflqInsertLease4()
pgsql_sflqUpdateLease4()
pgsql_sflqInsertLease6()
pgsql_sflqUpdateLease6()
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
Updated functions:
sflqCreateFlqPool4()
sflqCreateFlqPool6()
sflqInsertLease4()
sflqUpdateLease4()
sflqInsertLease6()
sflqUpdateLease6()
/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
/src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Updated functions:
sflqCreateFlqPool4()
sflqCreateFlqPool4()
sflqCreateFlqPool6()
sflqInsertLease4()
sflqUpdateLease4()
sflqInsertLease6()
sflqUpdateLease6()
Razvan Becheriu [Mon, 20 Apr 2026 14:39:07 +0000 (17:39 +0300)]
[#4454] addressed review comments
Razvan Becheriu [Wed, 10 Dec 2025 20:17:37 +0000 (22:17 +0200)]
[#4454] remove solaris iface_mgr
Razvan Becheriu [Wed, 15 Apr 2026 18:37:05 +0000 (21:37 +0300)]
[#3448] addressed review
Francis Dupont [Tue, 31 Mar 2026 13:09:15 +0000 (15:09 +0200)]
[#3448] Fixed json
Francis Dupont [Tue, 31 Mar 2026 12:53:11 +0000 (14:53 +0200)]
[#3448] Removed extra CA refs in examples
Francis Dupont [Tue, 31 Mar 2026 12:39:18 +0000 (14:39 +0200)]
[#3448] Moved rbac example
Francis Dupont [Thu, 26 Mar 2026 09:41:02 +0000 (10:41 +0100)]
[#3448] Fixed rebase
Francis Dupont [Thu, 26 Mar 2026 09:03:46 +0000 (10:03 +0100)]
[#3448] Revert HTTP control socket in DHCPv4
Francis Dupont [Mon, 16 Mar 2026 15:33:45 +0000 (16:33 +0100)]
[#3448] Checkpoint
Francis Dupont [Tue, 17 Mar 2026 14:39:55 +0000 (15:39 +0100)]
[#3448] Fixed again keactrl tests
Francis Dupont [Tue, 17 Mar 2026 12:25:20 +0000 (13:25 +0100)]
[#3448] Fixed doc
Francis Dupont [Tue, 17 Mar 2026 10:59:42 +0000 (11:59 +0100)]
[#3448] Many fixes
Francis Dupont [Tue, 17 Mar 2026 08:43:34 +0000 (09:43 +0100)]
[#3448] Fixed yang control socket
Francis Dupont [Tue, 17 Mar 2026 08:36:15 +0000 (09:36 +0100)]
[#3448] Tentative hammer
Francis Dupont [Tue, 17 Mar 2026 08:09:07 +0000 (09:09 +0100)]
[#3448] Fixed keactrl tests
Francis Dupont [Mon, 16 Mar 2026 17:40:02 +0000 (18:40 +0100)]
[#3448] Fixed doc build
Francis Dupont [Mon, 16 Mar 2026 17:33:33 +0000 (18:33 +0100)]
[#3448] Fixed shellcheck
Francis Dupont [Mon, 16 Mar 2026 17:06:05 +0000 (18:06 +0100)]
[#3448] Checkpoint
Francis Dupont [Mon, 16 Mar 2026 15:33:45 +0000 (16:33 +0100)]
[#3448] Checkpoint
Thomas Markwalder [Fri, 17 Apr 2026 17:09:27 +0000 (13:09 -0400)]
[#4441] Add missing order by
modified: src/share/database/scripts/pgsql/dhcpdb_create.pgsql
modified: src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Thomas Markwalder [Fri, 17 Apr 2026 15:17:42 +0000 (11:17 -0400)]
[#4441] Fixed asan leak
modified: src/lib/dhcpsrv/sflq_allocator.cc
Thomas Markwalder [Fri, 17 Apr 2026 14:03:02 +0000 (10:03 -0400)]
[#4441] Add tranactions to PostgreSQL lease ops
/src/hooks/dhcp/mysql/mysql_lease_mgr.cc
/src/lib/pgsql/pgsql_connection.h
PgSqlLeaseMgr::addLeaseCommon()
PgSqlLeaseMgr::updateLeaseCommon()
PgSqlLeaseMgr::deleteLeaseCommon()
- added scoped transactions
Thomas Markwalder [Fri, 17 Apr 2026 13:26:23 +0000 (09:26 -0400)]
[#4441] Add tranactions to MySQL lease ops
/src/hooks/dhcp/mysql/mysql_lease_mgr.cc
/src/lib/mysql/mysql_connection.h
MySqlLeaseMgr::addLeaseCommon()
MySqlLeaseMgr::updateLeaseCommon()
MySqlLeaseMgr::deleteLeaseCommon()
- added scoped transactions
/src/lib/dhcpsrv/sflq_allocator.cc
SharedFlqAllocator::sanityChecksSflqAllocator6()
handle alloctor types correctly
various nits from review comments
Thomas Markwalder [Thu, 16 Apr 2026 19:23:48 +0000 (15:23 -0400)]
[#4441] Replace row count mechanism in PostgreSQL
Aligns postresql implementation with mysql implementation.
Lease op functions now return the leaseX table affected row count.
/src/bin/admin/tests/pgsql_tests.sh.in
Updated tests
/src/hooks/dhcp/pgsql/pgsql_lease_mgr.*
PgSqlLeaseMgr::getRowCount() - new conveniece function
Updated lease op functions and common functions
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
added row test to insert funcs
/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
/src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Updated lease op functions
deleted FUNCTION sflqFakeRowCount()
Thomas Markwalder [Thu, 16 Apr 2026 16:02:15 +0000 (12:02 -0400)]
[#4441] A few more comments
Fixed typos
modified: src/bin/admin/tests/mysql_tests.sh.in
modified: src/bin/admin/tests/pgsql_tests.sh.in
modified: src/lib/dhcpsrv/lease_mgr.h
modified: src/lib/dhcpsrv/sflq_allocator.h
Thomas Markwalder [Thu, 16 Apr 2026 15:32:36 +0000 (11:32 -0400)]
[#4441] Consume results of insert
modified: src/hooks/dhcp/mysql/mysql_lease_mgr.cc
modified: src/hooks/dhcp/mysql/mysql_lease_mgr.h
Thomas Markwalder [Thu, 16 Apr 2026 13:47:52 +0000 (09:47 -0400)]
[#4441] Fix row count issue in Mariadb
Mariadb affected row counts from stored procedures are
unreliable. Converted lease op procedures to functions
that return the leaseX table affected row count.
/src/bin/admin/tests/mysql_tests.sh.in
Change lease op calls to selects, check rows returned
/src/hooks/dhcp/mysql/mysql_lease_mgr.*
Change lease op SFLQ SQL statement calls to selects
For update and delete, check row count returned instead of
affect rows from statement context
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
Convert SFLQ lease op PROCEDURES to FUNCTIONS that
return leaseX table rows affected count
Deleted PROCEDURE sflqFakeRowCount
Thomas Markwalder [Wed, 15 Apr 2026 12:55:39 +0000 (08:55 -0400)]
[#4441] A few more comments
Restored capacity limit to 16M
Thomas Markwalder [Wed, 15 Apr 2026 12:08:56 +0000 (08:08 -0400)]
[#4441] More review comments
/src/hooks/dhcp/mysql/mysql_lease_mgr.cc
/src/hooks/dhcp/mysql/pgsql_lease_mgr.cc
Use new constants for capacity check
/src/lib/dhcpsrv/sflq_allocator.*
SharedFlqAllocator::sanityChecksSflqAllocator4(Subnet4Ptr subnet)
SharedFlqAllocator::sanityChecksSflqAllocator6(Subnet6Ptr subnet)
- new functions
/src/lib/dhcpsrv/srv_config.cc
use SharedFlqAllocator::sanityChecksSflqAllocator*
Thomas Markwalder [Tue, 14 Apr 2026 20:17:23 +0000 (16:17 -0400)]
[#4441] Added sanity check
/src/bin/dhcp4/json_config_parser.cc
/src/bin/dhcp6/json_config_parser.cc
Add call to cfg->sanityChecksSflqAllocator();
/src/lib/dhcpsrv/cb_ctl_dhcp4.cc
/src/lib/dhcpsrv/cb_ctl_dhcp6.cc
Add call to external_cfg->sanityChecksSflqAllocator();
/src/lib/dhcpsrv/srv_config.*
SrvConfig::sanityChecksSflqAllocator() - new function
Thomas Markwalder [Tue, 14 Apr 2026 17:45:55 +0000 (13:45 -0400)]
[#4441] Addressed initial review comments
modified: src/bin/admin/tests/mysql_tests.sh.in
modified: src/bin/admin/tests/pgsql_tests.sh.in
modified: src/hooks/dhcp/mysql/mysql_lease_mgr.cc
modified: src/hooks/dhcp/mysql/tests/mysql_lease_mgr_unittest.cc
modified: src/hooks/dhcp/pgsql/pgsql_lease_mgr.cc
modified: src/hooks/dhcp/pgsql/tests/pgsql_lease_mgr_unittest.cc
modified: src/lib/dhcpsrv/parsers/shared_network_parser.cc
modified: src/lib/dhcpsrv/sflq_allocator.cc
modified: src/lib/dhcpsrv/subnet.cc
modified: src/lib/dhcpsrv/tests/sflq_allocator_unittest.cc
modified: src/lib/dhcpsrv/tests/shared_network_unittest.cc
modified: src/lib/dhcpsrv/testutils/generic_lease_mgr_unittest.cc
modified: src/lib/dhcpsrv/testutils/generic_lease_mgr_unittest.h
modified: src/share/database/scripts/mysql/dhcpdb_create.mysql
modified: src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
modified: src/share/database/scripts/pgsql/dhcpdb_create.pgsql
modified: src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Thomas Markwalder [Tue, 14 Apr 2026 11:27:32 +0000 (07:27 -0400)]
[#4441] Fix mysql loop limit error
Also whitespace clean up
modified: src/bin/admin/tests/mysql_tests.sh.in
modified: src/hooks/dhcp/mysql/mysql_lease_mgr.cc
modified: src/hooks/dhcp/mysql/tests/mysql_lease_mgr_unittest.cc
modified: src/lib/dhcpsrv/sflq_allocation_state.h
modified: src/lib/dhcpsrv/testutils/generic_lease_mgr_unittest.cc
modified: src/share/database/scripts/mysql/dhcpdb_create.mysql
modified: src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
Thomas Markwalder [Mon, 13 Apr 2026 15:38:38 +0000 (11:38 -0400)]
[#4441] Clean up and new UTs
/src/lib/dhcpsrv/sflq_allocation_state.h
/src/lib/dhcpsrv/sflq_allocator.h
clean up
/src/lib/dhcpsrv/tests/shared_network_unittest.cc
TEST(SharedNetwork4Test, sflqGetPreferredSubnet)
TEST(SharedNetwork6Test, sflqGetPreferredSubnet)
- new tests
Thomas Markwalder [Fri, 10 Apr 2026 19:19:23 +0000 (15:19 -0400)]
[#4441] Added capacity checks
Both MySQL and PostgreSQL are working end to end!
/src/hooks/dhcp/mysql/mysql_lb_messages.mes
Added capacity to pool create logs
/src/hooks/dhcp/mysql/mysql_lease_mgr.cc
MySqlLeaseMgr::sflqCreateFlqPool4()
MySqlLeaseMgr::sflqCreateFlqPool6()
- Added capacity to pool create log added 16M pool capacity guard
/src/hooks/dhcp/pgsql/pgsql_lb_messages.mes
Added capacity to pool create logs
/src/hooks/dhcp/pgsql/pgsql_lease_mgr.cc
PgSqlLeaseMgr::sflqCreateFlqPool4()
PgSqlLeaseMgr::sflqCreateFlqPool6()
- Added capacity to pool create log added 16M pool capacity guard
/src/lib/dhcpsrv/subnet.cc
Subnet6::createAllocators() - fixed allocator type check
Thomas Markwalder [Fri, 10 Apr 2026 14:02:01 +0000 (10:02 -0400)]
[#4441] PostgreSQL add where params, row logic
Catch up with MySQL changes
/src/bin/admin/tests/pgsql_tests.sh.in
pgsql_sflqUpdateLease4()
pgsql_sflqUpdateLease6()
- add where parameters
/src/hooks/dhcp/pgsql/pgsql_lease_mgr.cc
SFLQ_UPDATE_LEASE4
SFLQ_UPDATE_LEASE6
- add where parameters
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
sflqUpdateLease4
sflqUpdateLease6
- make logic consistent with PostgreSQL
/src/share/database/scripts/mysql/dhcpdb_drop.mysql
Added sflqFakeRowCount
/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
FUNCTION sflqFakeRowCount() - new function
sflqUpdateLease4()
sflqUpdateLease6()
- add where parameters
- add fake row logic
sflqDeleteLease4()
sflqDeleteLease6()
- add fake row logic
/src/share/database/scripts/pgsql/dhcpdb_drop.pgsql
Added sflqFakeRowCount
Thomas Markwalder [Thu, 9 Apr 2026 19:39:00 +0000 (15:39 -0400)]
[#4441] cfg parsing, allocation state, Mysql bugs
Parsing changes so shared-flq allocator can be configured
Added SubnetSflqAllocationState class
MySQL changes:
Added transacations back to lease ops SQL proceduresr
changes in one session were not being committed, so
invisible to others.
Added omitted where parameters to sflqUpdateLease*
Added sflqFakeRowCount() to set affected row count in
lease op procedures
new file: src/lib/dhcpsrv/sflq_allocation_state.cc
new file: src/lib/dhcpsrv/sflq_allocation_state.h
/src/bin/admin/tests/mysql_tests.sh.in
mysql_sflqUpdateLease4()
mysql_sflqUpdateLease6()
- added where params:
/src/hooks/dhcp/mysql/mysql_lease_mgr.cc
MySqlLeaseMgr::SFLQ_UPDATE_LEASE4
MySqlLeaseMgr::SFLQ_UPDATE_LEASE6
- added where params:
/src/lib/dhcpsrv/meson.build
Add sflq_allcoation_state.*
/src/lib/dhcpsrv/parsers/base_network_parser.cc
BaseNetworkParser::parseAllocatorParams()
BaseNetworkParser::parsePdAllocatorParams()
- allow "shared-flg"
/src/lib/dhcpsrv/parsers/shared_network_parser.cc
SharedNetwork6Parser::parse()
- disallow shared-flq for NA pools
/src/lib/dhcpsrv/sflq_allocator.*
SharedFlqAllocator::pickAddressInternal()
- set last allocated time in subnet allocator state
SharedFlqAllocator::getSubnetState() - new function
/src/lib/dhcpsrv/subnet.cc
Subnet4::createAllocators()
Subnet6::createAllocators()
- support "shared-flq"
/src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
TEST_F(ParseConfigTest, invalidSubnetAllocator4)
TEST_F(ParseConfigTest, invalidSubnetAllocator6)
- updated expected error msg
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
sflqFakeRowCount()
- new procedure
sflqInsertLease4
sflqInsertLease6
- add back transaction
sflqUpdateLease4
sflqUpdateLease6
- add back transaction
- preserve affected row count
- add where params
sflqDeleteLease4
sflqDeleteLease6
- add back transaction
- preserve affected row count
Thomas Markwalder [Tue, 7 Apr 2026 17:36:27 +0000 (13:36 -0400)]
[#4441] Added alt statements and UTs
MySql and PostgreSQL lease mgrs now call
alteranate SQL statements when lease is
under SFLQ jurisdiction
/src/hooks/dhcp/mysql/mysql_lease_mgr.*
Added alternate statements:
{MySqlLeaseMgr::SFLQ_INSERT_LEASE4,
{MySqlLeaseMgr::SFLQ_UPDATE_LEASE4,
{MySqlLeaseMgr::SFLQ_DELETE_LEASE4,
{MySqlLeaseMgr::SFLQ_INSERT_LEASE6,
{MySqlLeaseMgr::SFLQ_UPDATE_LEASE6,
{MySqlLeaseMgr::SFLQ_DELETE_LEASE6,
Modified to call alt statements:
MySqlLeaseMgr::addLease*()
MySqlLeaseMgr::udpateLease*()
MySqlLeaseMgr::deleteLease*()
MySqlLeaseMgr::sflqPickFreeLease4() fix output bind
/src/hooks/dhcp/mysql/tests/mysql_lease_mgr_unittest.cc
Renamed testSFLQ4() to testSflqCreateAndPick4()
Renamed testSFLQ6() to testSflqCreateAndPick6()
TEST_F(MySqlLeaseMgrTest, testSflqLeaseOps4 - new test
TEST_F(MySqlLeaseMgrTest, testSflqLeaseOps6 - new test
/src/hooks/dhcp/pgsql/pgsql_lease_mgr.*
Added alternate statements:
SFLQ_INSERT_LEASE4
SFLQ_UPDATE_LEASE4
SLQ_DELETE_LEASE4
SFLQ_INSERT_LEASE6
SFLQ_UPDATE_LEASE6
SFLQ_DELETE_LEASE6
Modified to call alt statements:
PgSqlLeaseMgr::addLease*()
PgSqlLeaseMgr::udpateLease*()
PgSqlLeaseMgr::deleteLease*()
/src/hooks/dhcp/pgsql/tests/pgsql_lease_mgr_unittest.cc
Renamed testSFLQ4() to testSflqCreateAndPick4()
Renamed testSFLQ6() to testSflqCreateAndPick6()
TEST_F(PgSqlLeaseMgrTest, testSflqLeaseOps4 - new test
TEST_F(PgSqlLeaseMgrTest, testSflqLeaseOps6 - new test
/src/lib/dhcpsrv/lease_mgr.*
bool LeaseMgr::useSharedFlqStatement(*) - new functions
/src/lib/dhcpsrv/testutils/generic_lease_mgr_unittest.*
Renamed testSFLQ4() to testSflqCreateAndPick4()
Renamed testSFLQ6() to testSflqCreateAndPick6()
testSflqLeaseOps4() - new test
testSflqLeaseOps6()- new test
/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
/src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Fixed null returns in sflqPickFreeLease*
Andrei Pavel [Thu, 2 Apr 2026 09:10:26 +0000 (12:10 +0300)]
[#4381] Update release_checklist.md
Andrei Pavel [Thu, 2 Apr 2026 08:23:32 +0000 (11:23 +0300)]
[#4381] Update release_checklist.md
Razvan Becheriu [Thu, 15 Jan 2026 13:33:14 +0000 (15:33 +0200)]
[#4212] added more UTs
Francis Dupont [Tue, 30 Dec 2025 09:21:20 +0000 (10:21 +0100)]
[#4212] Improved readability
Francis Dupont [Fri, 26 Dec 2025 15:38:28 +0000 (16:38 +0100)]
[#4212] Ported Razvan's test/bench
Francis Dupont [Thu, 25 Dec 2025 17:56:57 +0000 (18:56 +0100)]
[#4212] Checkpoint: xoy extra UTs
Francis Dupont [Sat, 13 Dec 2025 11:10:29 +0000 (12:10 +0100)]
[#4258] Added lru UTs
Francis Dupont [Sat, 13 Dec 2025 00:19:09 +0000 (01:19 +0100)]
[#4258] Experiment with relocate
Razvan Becheriu [Mon, 13 Apr 2026 17:22:44 +0000 (20:22 +0300)]
[#4448] added ChangeLog entry
Razvan Becheriu [Thu, 9 Apr 2026 05:07:05 +0000 (08:07 +0300)]
[#4448] fix ha listener shutdown under load
Andrei Pavel [Tue, 7 Apr 2026 13:34:12 +0000 (16:34 +0300)]
[#4446] Increase timeout of mysql_tests.sh
Thomas Markwalder [Mon, 6 Apr 2026 13:59:35 +0000 (09:59 -0400)]
[#4425] Fixed typos
modified: src/lib/dhcpsrv/sflq_allocator.h
modified: src/lib/dhcpsrv/testutils/sflqtest_lease_mgr.h
Thomas Markwalder [Mon, 6 Apr 2026 13:18:19 +0000 (09:18 -0400)]
[#4425] Addressed more review comments
/src/bin/admin/tests/pgsql_tests.sh.in
Minor nits
/src/lib/dhcpsrv/tests/sflq_allocator_unittest.cc
Replace contains with count
/src/lib/dhcpsrv/testutils/sflqtest_lease_mgr.h
Fixed override warnings
/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
/src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
inetToBytea(inet_address inet) - handle v6 addresses
with empty first hextet
Thomas Markwalder [Sat, 4 Apr 2026 15:42:14 +0000 (11:42 -0400)]
[#4425] Fixed v4-mapped address issue in inetToBytea
/src/bin/admin/tests/pgsql_tests.sh.in
pgsql_inetToBytea() - new test
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
Handle special case first octect zero
Thomas Markwalder [Sat, 4 Apr 2026 12:43:04 +0000 (08:43 -0400)]
[#4425] Addressed review comments
/src/bin/admin/tests/mysql_tests.sh.in
mysql_sflqCreateFlqPool4Invalid() - new test
mysql_sflqPickFreeLease4() - added test cases
mysql_sflqCreateFlqPool6Invalid() - new test
mysql_sflqPickFreeLease6() - added test cases
/src/bin/admin/tests/pgsql_tests.sh.in
pgsql_sflqCreateFlqPool4Invalid() - new test
pgsql_sflqPickFreeLease4() - added test cases
pgsql_sflqCreateFlqPool6Invalid() - new test
pgsql_sflqPickFreeLease6() - added test cases
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
Added parameter validation and fixed overruns in
create pool functions
/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
/src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Added parameter validation and fixed overruns in
create pool functions
Fixed a bug in inetToBytea on address with an empty first octet
And various nits.
Thomas Markwalder [Fri, 3 Apr 2026 14:06:12 +0000 (10:06 -0400)]
[#4425] Catch overrun in MySql sflqCreateFlqPool4
modified: src/share/database/scripts/mysql/dhcpdb_create.mysql
modified: src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
Thomas Markwalder [Fri, 3 Apr 2026 13:15:31 +0000 (09:15 -0400)]
[#4425] Improved MySQL setLoopLimit
Sets a cap of 1000, and sets the DB's session
variable limit if it is zero.
Thomas Markwalder [Thu, 2 Apr 2026 19:16:46 +0000 (15:16 -0400)]
[#4425] Implement SharedFlqAllocator class
modified: src/lib/dhcpsrv/cfg_subnets4.cc
modified: src/lib/dhcpsrv/cfg_subnets6.cc
modified: src/lib/dhcpsrv/iterative_allocator.h
modified: src/lib/dhcpsrv/meson.build
new file: src/lib/dhcpsrv/sflq_allocator.cc
new file: src/lib/dhcpsrv/sflq_allocator.h
modified: src/lib/dhcpsrv/tests/meson.build
new file: src/lib/dhcpsrv/tests/sflq_allocator_unittest.cc
modified: src/lib/dhcpsrv/testutils/meson.build
new file: src/lib/dhcpsrv/testutils/sflqtest_lease_mgr.cc
new file: src/lib/dhcpsrv/testutils/sflqtest_lease_mgr.h
Thomas Markwalder [Thu, 2 Apr 2026 17:13:54 +0000 (13:13 -0400)]
[#4417] Addressed review comments
Applied batch to turn PostgreSQL procedures into functions
for PosgreSQL 10 compatibility
Several smaller typos and mistakes.
modified:
src/bin/admin/tests/pgsql_tests.sh.in
src/hooks/dhcp/mysql/mysql_lb_messages.cc
src/hooks/dhcp/mysql/mysql_lb_messages.mes
src/hooks/dhcp/mysql/mysql_lease_mgr.cc
src/hooks/dhcp/mysql/mysql_lease_mgr.h
src/hooks/dhcp/mysql/tests/mysql_lease_mgr_unittest.cc
src/hooks/dhcp/pgsql/pgsql_lb_messages.cc
src/hooks/dhcp/pgsql/pgsql_lb_messages.mes
src/hooks/dhcp/pgsql/pgsql_lease_mgr.cc
src/hooks/dhcp/pgsql/pgsql_lease_mgr.h
src/lib/dhcpsrv/lease_mgr.h
src/lib/dhcpsrv/testutils/generic_lease_mgr_unittest.cc
src/lib/dhcpsrv/testutils/generic_lease_mgr_unittest.h
src/lib/mysql/mysql_binding.h
src/share/database/scripts/mysql/dhcpdb_create.mysql
src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
src/share/database/scripts/pgsql/dhcpdb_create.pgsql
src/share/database/scripts/pgsql/dhcpdb_drop.pgsql
src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Thomas Markwalder [Thu, 2 Apr 2026 13:43:54 +0000 (09:43 -0400)]
[#4417] Fix missing log argument
modified: src/hooks/dhcp/mysql/mysql_lease_mgr.cc
modified: src/hooks/dhcp/pgsql/pgsql_lease_mgr.cc
Thomas Markwalder [Thu, 2 Apr 2026 13:22:27 +0000 (09:22 -0400)]
[#4417] Add log messages
modified: ../mysql/mysql_lb_messages.cc
modified: ../mysql/mysql_lb_messages.h
modified: ../mysql/mysql_lb_messages.mes
modified: ../mysql/mysql_lease_mgr.cc
modified: pgsql_lb_messages.cc
modified: pgsql_lb_messages.h
modified: pgsql_lb_messages.mes
modified: pgsql_lease_mgr.cc
Thomas Markwalder [Wed, 1 Apr 2026 15:14:05 +0000 (11:14 -0400)]
[#4417] SFLQ Create/Pick added to LeaseMgrs
Added new SQL statements and functions to
create and pick from SFLQ pools to
MySQL and PostgreSQL lease managers
/src/hooks/dhcp/pgsql/pgsql_lease_mgr.cc
New SQL statements:
SFLQ_CREATE_POOL4
SFLQ_PICK_FREE_LEASE4
SFLQ_CREATE_POOL6
SFLQ_PICK_FREE_LEASE6
New functions:
PgSqlLeaseMgr::sflqCreateFlqPool4()
PgSqlLeaseMgr::sflqPickFreeLease4()
PgSqlLeaseMgr::sflqCreateFlqPool6()
PgSqlLeaseMgr::sflqPickFreeLease6()
/src/hooks/dhcp/pgsql/tests/pgsql_lease_mgr_unittest.cc
New tests:
TEST_F(PgSqlLeaseMgrTest, testSFLQ4)
TEST_F(PgSqlLeaseMgrTest, testSFLQ6)
/src/hooks/dhcp/mysql/mysql_lease_mgr.*
New SQL statements:
MySqlLeaseMgr::SFLQ_CREATE_FLQ_POOL4
MySqlLeaseMgr::SFLQ_PICK_FREE_LEASE4
MySqlLeaseMgr::SFLQ_CREATE_FLQ_POOL6
MySqlLeaseMgr::SFLQ_PICK_FREE_LEASE6
New functions:
MySqlLeaseMgr::sflqCreateFlqPool4()
MySqlLeaseMgr::sflqPickFreeLease4()
MySqlLeaseMgr::sflqCreateFlqPool6()
MySqlLeaseMgr::sflqPickFreeLease6()
/src/hooks/dhcp/mysql/tests/mysql_lease_mgr_unittest.cc
New tests:
TEST_F(MySqlLeaseMgrTest, testSFLQ4)
TEST_F(MySqlLeaseMgrTest, testSFLQ6)
/src/lib/dhcpsrv/lease_mgr.*
New Functions:
LeaseMgr::sflqCreateFlqPool4()
LeaseMgr::sflqPickFreeLease4()
LeaseMgr::sflqCreateFlqPool6()
LeaseMgr::sflqPickFreeLease6()
/src/lib/dhcpsrv/testutils/generic_lease_mgr_unittest.*
New tests:
GenericLeaseMgrTest::testSFLQ4()
GenericLeaseMgrTest::testSFLQ6()
Thomas Markwalder [Wed, 1 Apr 2026 14:02:36 +0000 (10:02 -0400)]
[#4405] Addressed review comments
Fixed typos
modified: src/bin/admin/tests/mysql_tests.sh.in
modified: src/bin/admin/tests/pgsql_tests.sh.in
modified: src/share/database/scripts/mysql/dhcpdb_create.mysql
modified: src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
modified: src/share/database/scripts/pgsql/dhcpdb_create.pgsql
modified: src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Thomas Markwalder [Tue, 31 Mar 2026 17:54:53 +0000 (13:54 -0400)]
[#4405] Removed transactions
Removed transactions from add/update/delete procedures.
They have a big impact performance and don't make much sense.
modified: src/share/database/scripts/mysql/dhcpdb_create.mysql
modified: src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
modified: src/share/database/scripts/pgsql/dhcpdb_create.pgsql
modified: src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Thomas Markwalder [Tue, 31 Mar 2026 15:29:03 +0000 (11:29 -0400)]
[4405] SFLQ lease insert,update,delete procedures
Added stored procedures and UTs for MySql
and PostgreSQL for lease insert, update, and delete
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/mysql/dhcpdb_drop.mysql
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
New stored procedures:
sflqInsertLease4
sflqUpdateLease4
sflqDeleteLease4
sflqInsertLease6
sflqUpdateLease6
/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
/src/share/database/scripts/pgsql/dhcpdb_drop.pgsql
/src/share/database/scripts/mysql/upgrade_032_to_033.sh.in
New stored procedures:
sflqInsertLease4
sflqUpdateLease4
sflqDeleteLease4
sflqInsertLease6
sflqUpdateLease6
/src/bin/admin/tests/mysql_tests.sh.in
New tests:
mysql_sflqInsertLease4
mysql_sflqUpdateLease4
mysql_sflqDeleteLease4
mysql_sflqInsertLease6
mysql_sflqUpdateLease6
mysql_sflqDeleteLease6
/src/bin/admin/tests/pgsql_tests.sh.in
New tests:
pgsql_sflqInsertLease4
pgsql_sflqUpdateLease4
pgsql_sflqDeleteLease4
pgsql_sflqInsertLease6
pgsql_sflqUpdateLease6
pgsql_sflqDeleteLease6
Thomas Markwalder [Tue, 31 Mar 2026 12:52:08 +0000 (08:52 -0400)]
[#4373] Fix postgresql pick logic
Fix the if clause on the second try pick in sflqPickFreeLease*
modified: src/share/database/scripts/pgsql/dhcpdb_create.pgsql
modified: src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Thomas Markwalder [Tue, 31 Mar 2026 11:59:23 +0000 (07:59 -0400)]
[#4373] Addressed more review comments
modified: src/share/database/scripts/mysql/dhcpdb_create.mysql
modified: src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
Thomas Markwalder [Mon, 30 Mar 2026 17:41:45 +0000 (13:41 -0400)]
[#4373] Missed typo fix
modified: src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
Thomas Markwalder [Mon, 30 Mar 2026 17:36:35 +0000 (17:36 +0000)]
Typo fix
Thomas Markwalder [Mon, 30 Mar 2026 17:33:33 +0000 (13:33 -0400)]
[#4373] Addressed some review comments
Use ON DUPLICATE UPDATE instead of INSERT IGNORE
Raise an error on invalid delegated length
modified: src/share/database/scripts/mysql/dhcpdb_create.mysql
modified: src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
modified: src/share/database/scripts/pgsql/dhcpdb_create.pgsql
modified: src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Thomas Markwalder [Mon, 30 Mar 2026 13:57:00 +0000 (09:57 -0400)]
[#4373] Made perf improvements for postgresql
/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
/src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
sflqCreateFlqPool6() - optmized for perf
Thomas Markwalder [Sun, 29 Mar 2026 17:08:12 +0000 (13:08 -0400)]
[#4373] Improve Mysql sflqCreateFlqPool6 performance
modified:
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
Thomas Markwalder [Fri, 27 Mar 2026 16:23:00 +0000 (12:23 -0400)]
[#4373] Added setLoopLimit() to MySql
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/mysql/dhcpdb_drop.mysql
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
new procedure setLoopLimit()
sflqCreateFlqPool4() - modified to use new procedure
Thomas Markwalder [Thu, 26 Mar 2026 18:55:26 +0000 (14:55 -0400)]
[#4373] Addressed some early comments
modified: src/share/database/scripts/mysql/dhcpdb_create.mysql
modified: src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
modified: src/share/database/scripts/mysql/wipe_data.sh.in
modified: src/share/database/scripts/pgsql/dhcpdb_create.pgsql
modified: src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
modified: src/share/database/scripts/pgsql/wipe_data.sh.in
Thomas Markwalder [Tue, 24 Mar 2026 13:43:48 +0000 (09:43 -0400)]
[#4373] Changed v4 postgresql columsn to BIGINT
Changed flq_pool4 and free_lease4 to store addresses
as BIGINT only. Reduces the number of conversions
dramatically.
modified: src/bin/admin/tests/pgsql_tests.sh.in
modified: src/share/database/scripts/pgsql/dhcpdb_create.pgsql
modified: src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Thomas Markwalder [Mon, 23 Mar 2026 18:29:38 +0000 (14:29 -0400)]
[#4373] Capture select output in procedure
modified: src/share/database/scripts/mysql/dhcpdb_create.mysql
modified: src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
Thomas Markwalder [Wed, 18 Mar 2026 19:08:32 +0000 (15:08 -0400)]
[#4373] Drop lease type from free_lease6 table
Tracking lease type in free_lease6 serves no purpose.
modified: src/share/database/scripts/mysql/dhcpdb_create.mysql
modified: src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
modified: src/share/database/scripts/pgsql/dhcpdb_create.pgsql
modified: src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Thomas Markwalder [Wed, 18 Mar 2026 11:52:24 +0000 (07:52 -0400)]
[#4373] remvoed extraneous DECLAREs
modified: src/share/database/scripts/pgsql/dhcpdb_create.pgsql
modified: src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Thomas Markwalder [Tue, 17 Mar 2026 13:58:21 +0000 (09:58 -0400)]
[#4373] Added new UTs
/src/bin/admin/tests/mysql_tests.sh.in
mysql_sflqCreateFlqPool4()
mysql_sflqCreateFlqPool6()
/src/bin/admin/tests/pgsql_tests.sh.in
pgsql_sflqCreateFlqPool4()
pgsql_sflqCreateFlqPool6()
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
sflqCreateFlqPool6() - fixed where clause
Thomas Markwalder [Mon, 16 Mar 2026 18:55:40 +0000 (14:55 -0400)]
[#4373] function renaming,add expired on create
modified:
src/bin/admin/tests/mysql_tests.sh.in
src/bin/admin/tests/pgsql_tests.sh.in
src/share/database/scripts/mysql/dhcpdb_create.mysql
src/share/database/scripts/mysql/dhcpdb_drop.mysql
src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
src/share/database/scripts/pgsql/dhcpdb_create.pgsql
src/share/database/scripts/pgsql/dhcpdb_drop.pgsql
src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
renamed:
createSharedFlqPool4 -> sflqCreateFlqPool4
createSharedFlqPool6 -> sflqCreateFlqPool6
pickFreeLease4 -> sflqPickFreeLease4
pickFreeLease6 -> sflqPickFreeLease6
Thomas Markwalder [Fri, 13 Mar 2026 12:17:41 +0000 (08:17 -0400)]
[#4373] Minor improvements to incrementV6Prefix
Changes to be committed:
modified: src/share/database/scripts/mysql/dhcpdb_create.mysql
modified: src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
Thomas Markwalder [Thu, 12 Mar 2026 20:47:21 +0000 (16:47 -0400)]
[#4373] Added MySQL UTs
/src/bin/admin/tests/mysql_tests.sh.in
mysql_SFLQ4()
mysql_SFLQ6() - new tests
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
Fixed pickFreeLease6
Thomas Markwalder [Thu, 12 Mar 2026 19:29:48 +0000 (15:29 -0400)]
[#4373] Added postgresql UTs
/src/bin/admin/tests/pgsql_tests.sh.in
pgsql_SFLQ4()
pgsql_SFLQ6() - new tests
/src/lib/dhcpsrv/tests/iterative_allocator_unittest.cc
removed experimental test
/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
/src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
Changed free_lease4 bin_address type from INT to BIGINT
Thomas Markwalder [Thu, 12 Mar 2026 07:58:05 +0000 (03:58 -0400)]
[#4373] Postgresql SFLQ tables and functons
/src/bin/admin/tests/mysql_tests.sh.in
Updated tests
/src/bin/admin/tests/pgsql_tests.sh.in
Added tests for new functions and procedures
/src/lib/dhcpsrv/iterative_allocator.h
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
Added bin_address to free_lease6
createSharedFlqPool4() - added delete or free_lease4 data
createSharedFlqPool6()
pickFreeLease6() - modified to use bin_address
/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
/src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in
free_lease4
free_lease6
- added bin_address
added new functions:
createSharedFlqPool4()
pickFreeLease4()
hexToBin()
inetToBytea()
byteaToInet()
incrementV6Prefix()
createSharedFlqPool6()
pickFreeLease6()
/src/share/database/scripts/pgsql/dhcpdb_drop.pgsql
updated
Thomas Markwalder [Sun, 8 Mar 2026 15:59:26 +0000 (11:59 -0400)]
[#4373] Added SFLQ tables for postreSQL
new file: upgrade_032_to_033.sh.in
/src/bin/admin/tests/mysql_tests.sh.in
Added test one function shortcut
/src/bin/admin/tests/pgsql_tests.sh.in
Added test one function shortcut
Updated version number
Added pgsql_upgrade_32_to_33_test()
/src/lib/pgsql/pgsql_connection.h
Updated version number
/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
/src/share/database/scripts/pgsql/dhcpdb_drop.pgsql
Added SFLQ tables
/src/share/database/scripts/pgsql/meson.build
Added upgrade_032_to_033.sh.in
Thomas Markwalder [Sun, 8 Mar 2026 13:06:20 +0000 (09:06 -0400)]
[#4373] Added MySQL functions
/src/bin/admin/tests/mysql_tests.sh.in
mysql_upgrade_33_to_34_test() -
Added tests for new functions
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/mysql/dhcpdb_drop.mysql
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
Added functions: incrementV6Prefix, createShareFlqPool4
pickFreeLease4. createShareFlqPool6, pickFreeLease6.
Thomas Markwalder [Wed, 4 Mar 2026 01:39:01 +0000 (20:39 -0500)]
[#4373] Added MySQL SFLQ tables
/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in
new file
/src/bin/admin/tests/mysql_tests.sh.in
update schem versrion check added
mysql_upgrade_33_to_34_test()
/src/lib/mysql/mysql_constants.h
const uint32_t MYSQL_SCHEMA_VERSION_MAJOR = 34;
/src/share/database/scripts/mysql/dhcpdb_create.mysql
create new tables:
flq_pool4
free_lease4
flq_pool6
free_lease6
/src/share/database/scripts/mysql/dhcpdb_drop.mysql
added drops of new tables
/src/share/database/scripts/mysql/meson.build
added upgrade_033_to_034.sh
Razvan Becheriu [Tue, 31 Mar 2026 13:54:58 +0000 (16:54 +0300)]
[#4434] added ChangeLog entry
Razvan Becheriu [Tue, 31 Mar 2026 12:38:14 +0000 (15:38 +0300)]
[#4434] added v4 unit tests
Razvan Becheriu [Sat, 28 Mar 2026 11:09:36 +0000 (13:09 +0200)]
[#4434] handle lease6_select SKIP flag
Francis Dupont [Fri, 27 Mar 2026 14:08:20 +0000 (15:08 +0100)]
[#4304] Updated gitattributes
Francis Dupont [Tue, 3 Mar 2026 20:28:18 +0000 (21:28 +0100)]
[#4304] Changed exhonerat* into exonerat* (file)
Francis Dupont [Tue, 3 Mar 2026 20:19:22 +0000 (21:19 +0100)]
[#4304] Changed exhonerat* into exonerat*
Francis Dupont [Wed, 11 Mar 2026 00:01:28 +0000 (01:01 +0100)]
[#4340] Unified to datatracker
Francis Dupont [Wed, 4 Mar 2026 08:44:04 +0000 (09:44 +0100)]
[#4208] Updated RFC4741 ref into RFC6241
Francis Dupont [Sat, 14 Mar 2026 13:25:47 +0000 (14:25 +0100)]
[#4410] Changed deadline_timer for system_timer
Razvan Becheriu [Fri, 27 Mar 2026 07:21:49 +0000 (09:21 +0200)]
[#4432] fix unit tests