src/bin/dhcp4/dhcp4_lexer.ll
src/bin/dhcp4/dhcp4_parser.yy
Added support for HR_GLOBAL mode
src/bin/dhcp4/tests/dhcp4_test_utils.cc
Minor modifications to output exception and config text
when parsing fails.
src/bin/dhcp4/tests/host_unittest.cc
New tests to make sure reservation matching behaves
according to reservation modes
src/lib/dhcpsrv/network.cc
src/lib/dhcpsrv/parsers/dhcp_parsers.cc
Adding missed bits needed to parse HR_GLOBAL mode
src/bin/dhcp4/tests/Makefile.am
src/bin/dhcp4/tests/host_unittest.cc - new file with global HR tests
src/lib/dhcpsrv/alloc_engine.*
findGlobalReservation() - new function that searches for global HR
findReservation() - calls findGlobalReservation() if mode is global
hasAddressReservation()
ClientContext4::currentHost()
- modified to recognize global HRs
src/lib/dhcpsrv/network.h
Added new mode, Netork::HR_GLOBAL
src/lib/dhcpsrv/tests/alloc_engine4_unittest.cc
TEST_F(AllocEngine4Test, globalReservationReservedAddressDiscover)
TEST_F(AllocEngine4Test, globalReservationReservedAddressRequest)
TEST_F(AllocEngine4Test, globalReservationDynamicDiscover)
TEST_F(AllocEngine4Test, globalReservationDynamicRequest) - new tests
- Internal representation of unused subnets is now SunbetID == SUBNET_ID_UNUSED
- Host Reservations with a subnet id value of SUBNET_ID_GLOBAL are global
- kea-dhcp4/6 servers can now parser reservations at the global level
- Added constants for special SubnetIDs:
SUBNET_ID_GLOBAL, SUBNET_ID_MAX, SUBNET_ID_UNUSED
- Modified code throughout to use these constants, rather than hard-coded
values. Note, MySQL and PostgreSQL host backends convert from NULL to
UNUSED and back.
- kea-dhcp4/6 servers will now parse a "reservations" element at the global
level.
src/lib/dhcpsrv/subnet_id.h
Added constants SubnetID SUBNET_ID_GLOBAL, SUBNET_ID_MAX, SUBNET_ID_UNUSED
src/bin/dhcp4/dhcp4_lexer.ll
src/bin/dhcp4/dhcp4_parser.yy
src/bin/dhcp4/json_config_parser.cc
kea-dhcp4 parsing now handles reservations as a global element
src/bin/dhcp4/tests/config_parser_unittest.cc
TEST_F(Dhcp4ParserTest, globalReservations) - new test to
verify global HR parsing
src/bin/dhcp4/tests/dora_unittest.cc
src/lib/dhcpsrv/cfg_hosts.cc
src/lib/dhcpsrv/host.cc
src/lib/dhcpsrv/host_mgr.cc
src/lib/dhcpsrv/mysql_host_data_source.cc
src/lib/dhcpsrv/parsers/host_reservation_parser.cc
src/lib/dhcpsrv/tests/alloc_engine4_unittest.cc
src/lib/dhcpsrv/tests/alloc_engine_utils.cc
src/lib/dhcpsrv/tests/host_mgr_unittest.cc
src/lib/dhcpsrv/tests/host_reservation_parser_unittest.cc
src/lib/dhcpsrv/tests/host_reservations_list_parser_unittest.cc
src/lib/dhcpsrv/tests/host_unittest.cc
Replaced SubnetID 0 with SUBNET_ID_UNUSED
src/lib/dhcpsrv/srv_config.cc
SrvConfig::toElement() - added global reservations output
src/lib/dhcpsrv/tests/cfg_hosts_unittest.cc
TEST_F(CfgHostsTest, globalSubnetIDs)
TEST_F(CfgHostsTest, unusedSubnetIDs) - new tests
src/lib/dhcpsrv/tests/host_unittest.cc
Replaced SubnetID 0 with SUBNET_ID_UNUSED
TEST_F(HostTest, toText) - updated to verify global ID output
src/lib/dhcpsrv/tests/mysql_host_data_source_unittest.cc
TEST_F(MySqlHostDataSourceTest, globalSubnetId4)
TEST_F(MySqlHostDataSourceTest, globalSubnetId6) - new tests
src/lib/dhcpsrv/tests/srv_config_unittest.cc
TEST_F(SrvConfigTest, unparseHR) - added global HRs
src/lib/dhcpsrv/testutils/generic_host_data_source_unittest.*
GenericHostDataSourceTest::testGlobalSubnetId4()
GenericHostDataSourceTest::testGlobalSubnetId6()
src/bin/dhcp6/dhcp6_lexer.ll
src/bin/dhcp6/dhcp6_parser.yy
src/bin/dhcp6/json_config_parser.cc
kea-dhcp6 now parses reservations as a global element
src/bin/dhcp6/tests/config_parser_unittest.cc
TEST_F(Dhcp6ParserTest, globalReservations) - new test
- doc updated (no longer claims leaseX-add is covered, v6 is not
just a pointer anymore)
- removed calls from MemfileLeaseMgr::addLease
- removed unnecessary static calls
- removed no longer needed unit-tests
- wrote extra unit-tests for lease file loader