Skip to content

Commit 58cc9eb

Browse files
committed
[#2755] Code done, doc to update
1 parent e1efb04 commit 58cc9eb

16 files changed

+372
-225
lines changed

src/bin/dhcp4/dhcp4_srv.cc

+2-10
Original file line numberDiff line numberDiff line change
@@ -4392,16 +4392,8 @@ Dhcpv4Srv::recoverStashedAgentOption(const Pkt4Ptr& query) {
43924392
}
43934393
vector<uint8_t> rai_data;
43944394
str::decodeFormattedHexString(rai_hex, rai_data);
4395-
static OptionDefinitionPtr rai_def;
4396-
if (!rai_def) {
4397-
rai_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
4398-
DHO_DHCP_AGENT_OPTIONS);
4399-
}
4400-
if (!rai_def) {
4401-
// Should not happen.
4402-
return;
4403-
}
4404-
OptionCustomPtr rai(new OptionCustom(*rai_def, Option::V4, rai_data));
4395+
static const OptionDefinition& rai_def = LibDHCP::DHO_DHCP_AGENT_OPTIONS_DEF();
4396+
OptionCustomPtr rai(new OptionCustom(rai_def, Option::V4, rai_data));
44054397
// unpackOptions is a bit too flexible so check if it got something...
44064398
if (!rai || rai->getOptions().empty()) {
44074399
return;

src/bin/dhcp4/tests/dhcp4_srv_unittest.cc

+35-81
Original file line numberDiff line numberDiff line change
@@ -304,10 +304,8 @@ TEST_F(Dhcpv4SrvTest, adjustIfaceDataRelayPort) {
304304
req->setRemotePort(1234);
305305

306306
// Add a RAI relay-port sub-option (the only difference with the previous test).
307-
OptionDefinitionPtr rai_def =
308-
LibDHCP::getOptionDef(DHCP4_OPTION_SPACE, DHO_DHCP_AGENT_OPTIONS);
309-
ASSERT_TRUE(rai_def);
310-
OptionCustomPtr rai(new OptionCustom(*rai_def, Option::V4));
307+
const OptionDefinition& rai_def = LibDHCP::DHO_DHCP_AGENT_OPTIONS_DEF();
308+
OptionCustomPtr rai(new OptionCustom(rai_def, Option::V4));
311309
ASSERT_TRUE(rai);
312310
req->addOption(rai);
313311
OptionPtr relay_port(new Option(Option::V4, RAI_OPTION_RELAY_PORT));
@@ -880,10 +878,8 @@ TEST_F(Dhcpv4SrvTest, initResponse) {
880878
// client-id echo is optional
881879
// rai echo is done in relayAgentInfoEcho
882880
// Do subnet selection option
883-
OptionDefinitionPtr sbnsel_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
884-
DHO_SUBNET_SELECTION);
885-
ASSERT_TRUE(sbnsel_def);
886-
OptionCustomPtr sbnsel(new OptionCustom(*sbnsel_def, Option::V4));
881+
const OptionDefinition& sbnsel_def = LibDHCP::DHO_SUBNET_SELECTION_DEF();
882+
OptionCustomPtr sbnsel(new OptionCustom(sbnsel_def, Option::V4));
887883
ASSERT_TRUE(sbnsel);
888884
sbnsel->writeAddress(IOAddress("192.0.2.3"));
889885
query->addOption(sbnsel);
@@ -1081,11 +1077,9 @@ TEST_F(Dhcpv4SrvTest, sanityCheckDiscover) {
10811077
ASSERT_NO_THROW(srv.processDiscover(pkt));
10821078

10831079
// Now let's add a server-id. This should throw.
1084-
OptionDefinitionPtr server_id_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
1085-
DHO_DHCP_SERVER_IDENTIFIER);
1086-
ASSERT_TRUE(server_id_def);
1080+
const OptionDefinition& server_id_def = LibDHCP::DHO_DHCP_SERVER_IDENTIFIER_DEF();
10871081

1088-
OptionCustomPtr server_id(new OptionCustom(*server_id_def, Option::V4));
1082+
OptionCustomPtr server_id(new OptionCustom(server_id_def, Option::V4));
10891083
server_id->writeAddress(IOAddress("192.0.2.3"));
10901084
pkt->addOption(server_id);
10911085
EXPECT_THROW_MSG(srv.processDiscover(pkt), RFCViolation,
@@ -1113,10 +1107,8 @@ TEST_F(Dhcpv4SrvTest, sanityCheckRequest) {
11131107
EXPECT_NO_THROW(srv.processRequest(pkt));
11141108

11151109
// Now let's add a requested address. This should not throw.
1116-
OptionDefinitionPtr req_addr_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
1117-
DHO_DHCP_REQUESTED_ADDRESS);
1118-
ASSERT_TRUE(req_addr_def);
1119-
OptionCustomPtr req_addr(new OptionCustom(*req_addr_def, Option::V4));
1110+
const OptionDefinition& req_addr_def = LibDHCP::DHO_DHCP_REQUESTED_ADDRESS_DEF();
1111+
OptionCustomPtr req_addr(new OptionCustom(req_addr_def, Option::V4));
11201112
req_addr->writeAddress(IOAddress("192.0.2.3"));
11211113
pkt->addOption(req_addr);
11221114
ASSERT_NO_THROW(srv.processRequest(pkt));
@@ -1128,11 +1120,9 @@ TEST_F(Dhcpv4SrvTest, sanityCheckRequest) {
11281120
ASSERT_NO_THROW(srv.processRequest(pkt));
11291121

11301122
// Now let's add a server-id. This should not throw.
1131-
OptionDefinitionPtr server_id_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
1132-
DHO_DHCP_SERVER_IDENTIFIER);
1133-
ASSERT_TRUE(server_id_def);
1123+
const OptionDefinition& server_id_def = LibDHCP::DHO_DHCP_SERVER_IDENTIFIER_DEF();
11341124

1135-
OptionCustomPtr server_id(new OptionCustom(*server_id_def, Option::V4));
1125+
OptionCustomPtr server_id(new OptionCustom(server_id_def, Option::V4));
11361126
server_id->writeAddress(IOAddress("192.0.2.3"));
11371127
pkt->addOption(server_id);
11381128
EXPECT_NO_THROW(srv.processRequest(pkt));
@@ -1160,10 +1150,8 @@ TEST_F(Dhcpv4SrvTest, sanityCheckDecline) {
11601150
" sent from [hwtype=1 00:fe:fe:fe:fe:fe], cid=[no info], tid=0x4d2");
11611151

11621152
// Now let's add a requested address. This should not throw.
1163-
OptionDefinitionPtr req_addr_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
1164-
DHO_DHCP_REQUESTED_ADDRESS);
1165-
ASSERT_TRUE(req_addr_def);
1166-
OptionCustomPtr req_addr(new OptionCustom(*req_addr_def, Option::V4));
1153+
const OptionDefinition& req_addr_def = LibDHCP::DHO_DHCP_REQUESTED_ADDRESS_DEF();
1154+
OptionCustomPtr req_addr(new OptionCustom(req_addr_def, Option::V4));
11671155
req_addr->writeAddress(IOAddress("192.0.2.3"));
11681156
pkt->addOption(req_addr);
11691157
ASSERT_NO_THROW(srv.processDecline(pkt));
@@ -1175,11 +1163,9 @@ TEST_F(Dhcpv4SrvTest, sanityCheckDecline) {
11751163
ASSERT_NO_THROW(srv.processDecline(pkt));
11761164

11771165
// Now let's add a server-id. This should not throw.
1178-
OptionDefinitionPtr server_id_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
1179-
DHO_DHCP_SERVER_IDENTIFIER);
1180-
ASSERT_TRUE(server_id_def);
1166+
const OptionDefinition& server_id_def = LibDHCP::DHO_DHCP_SERVER_IDENTIFIER_DEF();
11811167

1182-
OptionCustomPtr server_id(new OptionCustom(*server_id_def, Option::V4));
1168+
OptionCustomPtr server_id(new OptionCustom(server_id_def, Option::V4));
11831169
server_id->writeAddress(IOAddress("192.0.2.3"));
11841170
pkt->addOption(server_id);
11851171
EXPECT_NO_THROW(srv.processDecline(pkt));
@@ -1209,11 +1195,9 @@ TEST_F(Dhcpv4SrvTest, sanityCheckRelease) {
12091195
ASSERT_NO_THROW(srv.processRelease(pkt));
12101196

12111197
// Now let's add a server-id. This should not throw.
1212-
OptionDefinitionPtr server_id_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
1213-
DHO_DHCP_SERVER_IDENTIFIER);
1214-
ASSERT_TRUE(server_id_def);
1198+
const OptionDefinition& server_id_def = LibDHCP::DHO_DHCP_SERVER_IDENTIFIER_DEF();
12151199

1216-
OptionCustomPtr server_id(new OptionCustom(*server_id_def, Option::V4));
1200+
OptionCustomPtr server_id(new OptionCustom(server_id_def, Option::V4));
12171201
server_id->writeAddress(IOAddress("192.0.2.3"));
12181202
pkt->addOption(server_id);
12191203
EXPECT_NO_THROW(srv.processRelease(pkt));
@@ -1239,10 +1223,8 @@ TEST_F(Dhcpv4SrvTest, sanityCheckInform) {
12391223
ASSERT_NO_THROW(srv.processInform(pkt));
12401224

12411225
// Now let's add a requested address. This should not throw.
1242-
OptionDefinitionPtr req_addr_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
1243-
DHO_DHCP_REQUESTED_ADDRESS);
1244-
ASSERT_TRUE(req_addr_def);
1245-
OptionCustomPtr req_addr(new OptionCustom(*req_addr_def, Option::V4));
1226+
const OptionDefinition& req_addr_def = LibDHCP::DHO_DHCP_REQUESTED_ADDRESS_DEF();
1227+
OptionCustomPtr req_addr(new OptionCustom(req_addr_def, Option::V4));
12461228
req_addr->writeAddress(IOAddress("192.0.2.3"));
12471229
pkt->addOption(req_addr);
12481230
ASSERT_NO_THROW(srv.processInform(pkt));
@@ -1254,11 +1236,9 @@ TEST_F(Dhcpv4SrvTest, sanityCheckInform) {
12541236
ASSERT_NO_THROW(srv.processInform(pkt));
12551237

12561238
// Now let's add a server-id. This should not throw.
1257-
OptionDefinitionPtr server_id_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
1258-
DHO_DHCP_SERVER_IDENTIFIER);
1259-
ASSERT_TRUE(server_id_def);
1239+
const OptionDefinition& server_id_def = LibDHCP::DHO_DHCP_SERVER_IDENTIFIER_DEF();
12601240

1261-
OptionCustomPtr server_id(new OptionCustom(*server_id_def, Option::V4));
1241+
OptionCustomPtr server_id(new OptionCustom(server_id_def, Option::V4));
12621242
server_id->writeAddress(IOAddress("192.0.2.3"));
12631243
pkt->addOption(server_id);
12641244
EXPECT_NO_THROW(srv.processInform(pkt));
@@ -2643,13 +2623,11 @@ TEST_F(Dhcpv4SrvTest, acceptServerId) {
26432623
// Remove the server identifier.
26442624
ASSERT_NO_THROW(pkt->delOption(DHO_DHCP_SERVER_IDENTIFIER));
26452625

2646-
OptionDefinitionPtr rai_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
2647-
DHO_DHCP_AGENT_OPTIONS);
2648-
2626+
const OptionDefinition& rai_def = LibDHCP::DHO_DHCP_AGENT_OPTIONS_DEF();
26492627
OptionBuffer override_server_id_buf(IOAddress("10.0.0.128").toBytes());
26502628

26512629
// Create RAI option.
2652-
OptionCustomPtr rai(new OptionCustom(*rai_def, Option::V4));
2630+
OptionCustomPtr rai(new OptionCustom(rai_def, Option::V4));
26532631
OptionPtr rai_override_server_id(new Option(Option::V4,
26542632
RAI_OPTION_SERVER_ID_OVERRIDE,
26552633
override_server_id_buf));
@@ -4487,10 +4465,8 @@ TEST_F(Dhcpv4SrvTest, relayLinkSelect) {
44874465
dis->addOption(clientid);
44884466

44894467
// Let's create a Relay Agent Information option
4490-
OptionDefinitionPtr rai_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
4491-
DHO_DHCP_AGENT_OPTIONS);
4492-
ASSERT_TRUE(rai_def);
4493-
OptionCustomPtr rai(new OptionCustom(*rai_def, Option::V4));
4468+
const OptionDefinition& rai_def = LibDHCP::DHO_DHCP_AGENT_OPTIONS_DEF();
4469+
OptionCustomPtr rai(new OptionCustom(rai_def, Option::V4));
44944470
ASSERT_TRUE(rai);
44954471
IOAddress addr("192.0.3.2");
44964472
OptionPtr ols(new Option(Option::V4,
@@ -4518,10 +4494,8 @@ TEST_F(Dhcpv4SrvTest, relayLinkSelect) {
45184494
EXPECT_FALSE(drop);
45194495

45204496
// Subnet select option has a lower precedence
4521-
OptionDefinitionPtr sbnsel_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
4522-
DHO_SUBNET_SELECTION);
4523-
ASSERT_TRUE(sbnsel_def);
4524-
OptionCustomPtr sbnsel(new OptionCustom(*sbnsel_def, Option::V4));
4497+
const OptionDefinition& sbnsel_def = LibDHCP::DHO_SUBNET_SELECTION_DEF();
4498+
OptionCustomPtr sbnsel(new OptionCustom(sbnsel_def, Option::V4));
45254499
ASSERT_TRUE(sbnsel);
45264500
sbnsel->writeAddress(IOAddress("192.0.2.3"));
45274501
dis->addOption(sbnsel);
@@ -4622,10 +4596,8 @@ TEST_F(Dhcpv4SrvTest, relayIgnoreLinkSelect) {
46224596
dis->addOption(clientid);
46234597

46244598
// Let's create a Relay Agent Information option
4625-
OptionDefinitionPtr rai_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
4626-
DHO_DHCP_AGENT_OPTIONS);
4627-
ASSERT_TRUE(rai_def);
4628-
OptionCustomPtr rai(new OptionCustom(*rai_def, Option::V4));
4599+
const OptionDefinition& rai_def = LibDHCP::DHO_DHCP_AGENT_OPTIONS_DEF();
4600+
OptionCustomPtr rai(new OptionCustom(rai_def, Option::V4));
46294601
ASSERT_TRUE(rai);
46304602
IOAddress addr("192.0.3.2");
46314603
OptionPtr ols(new Option(Option::V4,
@@ -4655,10 +4627,8 @@ TEST_F(Dhcpv4SrvTest, relayIgnoreLinkSelect) {
46554627

46564628
// Subnet select option has a lower precedence, but will succeed
46574629
// because RAI link selection suboptions are being ignored
4658-
OptionDefinitionPtr sbnsel_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
4659-
DHO_SUBNET_SELECTION);
4660-
ASSERT_TRUE(sbnsel_def);
4661-
OptionCustomPtr sbnsel(new OptionCustom(*sbnsel_def, Option::V4));
4630+
const OptionDefinition& sbnsel_def = LibDHCP::DHO_SUBNET_SELECTION_DEF();
4631+
OptionCustomPtr sbnsel(new OptionCustom(sbnsel_def, Option::V4));
46624632
ASSERT_TRUE(sbnsel);
46634633
sbnsel->writeAddress(IOAddress("192.0.2.3"));
46644634
dis->addOption(sbnsel);
@@ -4758,10 +4728,8 @@ TEST_F(Dhcpv4SrvTest, subnetSelect) {
47584728
dis->addOption(clientid);
47594729

47604730
// Let's create a Subnet Selection option
4761-
OptionDefinitionPtr sbnsel_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
4762-
DHO_SUBNET_SELECTION);
4763-
ASSERT_TRUE(sbnsel_def);
4764-
OptionCustomPtr sbnsel(new OptionCustom(*sbnsel_def, Option::V4));
4731+
const OptionDefinition& sbnsel_def = LibDHCP::DHO_SUBNET_SELECTION_DEF();
4732+
OptionCustomPtr sbnsel(new OptionCustom(sbnsel_def, Option::V4));
47654733
ASSERT_TRUE(sbnsel);
47664734
sbnsel->writeAddress(IOAddress("192.0.3.2"));
47674735

@@ -5258,10 +5226,8 @@ class StashAgentOptionTest : public Dhcpv4SrvTest {
52585226
query_->setHWAddr(hwaddr_);
52595227
query_->setCiaddr(addr_);
52605228

5261-
if (!rai_def_) {
5262-
isc_throw(Unexpected, "RAI definition can't be found");
5263-
}
5264-
rai_.reset(new OptionCustom(*rai_def_, Option::V4));
5229+
rai_.reset(new OptionCustom(LibDHCP::DHO_DHCP_AGENT_OPTIONS_DEF(),
5230+
Option::V4));
52655231
rai_sub_.reset(new Option(Option::V4, RAI_OPTION_LINK_SELECTION,
52665232
addr_.toBytes()));
52675233
rai_->addOption(rai_sub_);
@@ -5290,9 +5256,6 @@ class StashAgentOptionTest : public Dhcpv4SrvTest {
52905256
LeaseMgrFactory::destroy();
52915257
}
52925258

5293-
/// @brief RAI definition.
5294-
static OptionDefinitionPtr rai_def_;
5295-
52965259
/// @brief Client address.
52975260
IOAddress addr_;
52985261

@@ -5324,15 +5287,6 @@ class StashAgentOptionTest : public Dhcpv4SrvTest {
53245287
ElementPtr sub_options_;
53255288
};
53265289

5327-
OptionDefinitionPtr
5328-
StashAgentOptionTest::rai_def_ = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
5329-
DHO_DHCP_AGENT_OPTIONS);
5330-
5331-
// Verify that RAI has a definition and can be built.
5332-
TEST(StashAgentOptionTestTest, checkRAI) {
5333-
ASSERT_TRUE(StashAgentOptionTest::rai_def_);
5334-
}
5335-
53365290
// Verify the basic positive case.
53375291
TEST_F(StashAgentOptionTest, basic) {
53385292
CfgMgr::instance().commit();
@@ -5398,7 +5352,7 @@ TEST_F(StashAgentOptionTest, oldExtendedInfo) {
53985352
// Verify that empty RAI is supported.
53995353
TEST_F(StashAgentOptionTest, emptyRelayAgentInfo) {
54005354
// Add an empty RAI.
5401-
OptionPtr empty_rai(new OptionCustom(*StashAgentOptionTest::rai_def_,
5355+
OptionPtr empty_rai(new OptionCustom(LibDHCP::DHO_DHCP_AGENT_OPTIONS_DEF(),
54025356
Option::V4));
54035357
query_->addOption(empty_rai);
54045358

src/bin/dhcp4/tests/dhcp4_test_utils.cc

+9-17
Original file line numberDiff line numberDiff line change
@@ -407,17 +407,15 @@ Dhcpv4SrvTest::generateHWAddr(size_t size /*= 6*/) {
407407

408408
OptionCustomPtr
409409
Dhcpv4SrvTest::makeServerIdOption(const IOAddress& address) {
410-
OptionDefinitionPtr option_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
411-
DHO_DHCP_SERVER_IDENTIFIER);
412-
OptionCustomPtr server_id(new OptionCustom(*option_def, Option::V4));
410+
const OptionDefinition& option_def = LibDHCP::DHO_DHCP_SERVER_IDENTIFIER_DEF();
411+
OptionCustomPtr server_id(new OptionCustom(option_def, Option::V4));
413412
server_id->writeAddress(address);
414413
return (server_id);
415414
}
416415

417416
OptionPtr
418417
Dhcpv4SrvTest::makeFqdnListOption() {
419-
OptionDefinitionPtr def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
420-
DHO_DOMAIN_SEARCH);
418+
const OptionDefinition& def = LibDHCP::DHO_DOMAIN_SEARCH_DEF();
421419

422420
// Prepare buffer holding an array of FQDNs.
423421
const uint8_t fqdn[] = {
@@ -430,8 +428,8 @@ Dhcpv4SrvTest::makeFqdnListOption() {
430428
// Initialize a vector with the FQDN data.
431429
std::vector<uint8_t> fqdn_buf(fqdn, fqdn + sizeof(fqdn));
432430

433-
OptionPtr option = def->optionFactory(Option::V4, DHO_DOMAIN_SEARCH,
434-
fqdn_buf.begin(), fqdn_buf.end());
431+
OptionPtr option = def.optionFactory(Option::V4, DHO_DOMAIN_SEARCH,
432+
fqdn_buf.begin(), fqdn_buf.end());
435433

436434
return (option);
437435
}
@@ -784,18 +782,12 @@ Dhcpv4SrvTest::buildCfgOptionTest(IOAddress expected_server_id,
784782
Pkt4Ptr& query,
785783
IOAddress requested,
786784
IOAddress server_id) {
787-
OptionDefinitionPtr req_addr_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
788-
DHO_DHCP_REQUESTED_ADDRESS);
789-
ASSERT_TRUE(req_addr_def);
790-
791-
OptionDefinitionPtr sbnsel_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
792-
DHO_SUBNET_SELECTION);
793-
ASSERT_TRUE(sbnsel_def);
794-
795-
OptionCustomPtr req_addr(new OptionCustom(*req_addr_def, Option::V4));
785+
const OptionDefinition& req_addr_def = LibDHCP::DHO_DHCP_REQUESTED_ADDRESS_DEF();
786+
OptionCustomPtr req_addr(new OptionCustom(req_addr_def, Option::V4));
796787
req_addr->writeAddress(requested);
797788

798-
OptionCustomPtr sbnsel(new OptionCustom(*sbnsel_def, Option::V4));
789+
const OptionDefinition& sbnsel_def = LibDHCP::DHO_SUBNET_SELECTION_DEF();
790+
OptionCustomPtr sbnsel(new OptionCustom(sbnsel_def, Option::V4));
799791
sbnsel->writeAddress(requested);
800792

801793
query->addOption(req_addr);

src/bin/dhcp4/tests/inform_unittest.cc

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (C) 2014-2023 Internet Systems Consortium, Inc. ("ISC")
1+
// Copyright (C) 2014-2024 Internet Systems Consortium, Inc. ("ISC")
22
//
33
// This Source Code Form is subject to the terms of the Mozilla Public
44
// License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -503,11 +503,9 @@ TEST_F(InformTest, messageFieldsLongOptions) {
503503
// Client requests big option.
504504
client.requestOption(240);
505505
// Client also sends multiple options with the same code.
506-
OptionDefinitionPtr rai_def = LibDHCP::getOptionDef(DHCP4_OPTION_SPACE,
507-
DHO_DHCP_AGENT_OPTIONS);
508-
ASSERT_TRUE(rai_def);
506+
const OptionDefinition& rai_def = LibDHCP::DHO_DHCP_AGENT_OPTIONS_DEF();
509507
// Create RAI options which should be fused by the server.
510-
OptionCustomPtr rai(new OptionCustom(*rai_def, Option::V4));
508+
OptionCustomPtr rai(new OptionCustom(rai_def, Option::V4));
511509
for (uint8_t i = 0; i < 4; ++i) {
512510
// Create a buffer holding some binary data. This data will be
513511
// used as reference when we read back the data from a created

src/bin/dhcp6/tests/dhcp6_srv_unittest.cc

+2-5
Original file line numberDiff line numberDiff line change
@@ -3288,11 +3288,8 @@ TEST_F(Dhcpv6SrvTest, relayOverride) {
32883288
/// @param payload specified payload (0 = fill payload with repeating option code)
32893289
/// @return RSOO with nested options
32903290
OptionPtr createRSOO(const std::vector<uint16_t>& codes, uint8_t payload = 0) {
3291-
OptionDefinitionPtr def = LibDHCP::getOptionDef(DHCP6_OPTION_SPACE, D6O_RSOO);
3292-
if (!def) {
3293-
isc_throw(BadValue, "Can't find RSOO definition");
3294-
}
3295-
OptionPtr rsoo_container(new OptionCustom(*def, Option::V6));
3291+
const OptionDefinition& def = LibDHCP::D6O_RSOO_DEF();
3292+
OptionPtr rsoo_container(new OptionCustom(def, Option::V6));
32963293

32973294
for (size_t i = 0; i < codes.size(); ++i) {
32983295
OptionBuffer buf(10, payload ? payload : codes[i]); // let's make the option 10 bytes long

src/hooks/dhcp/flex_option/tests/flex_option_unittests.cc

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (C) 2019-2022 Internet Systems Consortium, Inc. ("ISC")
1+
// Copyright (C) 2019-2024 Internet Systems Consortium, Inc. ("ISC")
22
//
33
// This Source Code Form is subject to the terms of the Mozilla Public
44
// License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -1437,8 +1437,8 @@ TEST_F(FlexOptionTest, processFullAddWithComplexString) {
14371437

14381438
Pkt6Ptr query(new Pkt6(DHCPV6_SOLICIT, 12345));
14391439
Pkt6Ptr response(new Pkt6(DHCPV6_ADVERTISE, 12345));
1440-
OptionDefinitionPtr def = isc::dhcp::LibDHCP::getOptionDef(DHCP6_OPTION_SPACE, D6O_CLIENT_FQDN);
1441-
OptionCustomPtr str(new OptionCustom(*def, Option::V6));
1440+
const OptionDefinition& def = LibDHCP::D6O_CLIENT_FQDN_DEF();
1441+
OptionCustomPtr str(new OptionCustom(def, Option::V6));
14421442
query->addOption(str);
14431443
EXPECT_FALSE(response->getOption(D6O_NEW_POSIX_TIMEZONE));
14441444

@@ -1472,8 +1472,8 @@ TEST_F(FlexOptionTest, processFullSupersedeWithComplexString) {
14721472

14731473
Pkt6Ptr query(new Pkt6(DHCPV6_SOLICIT, 12345));
14741474
Pkt6Ptr response(new Pkt6(DHCPV6_ADVERTISE, 12345));
1475-
OptionDefinitionPtr def = isc::dhcp::LibDHCP::getOptionDef(DHCP6_OPTION_SPACE, D6O_CLIENT_FQDN);
1476-
OptionCustomPtr str(new OptionCustom(*def, Option::V6));
1475+
const OptionDefinition& def = LibDHCP::D6O_CLIENT_FQDN_DEF();
1476+
OptionCustomPtr str(new OptionCustom(def, Option::V6));
14771477
query->addOption(str);
14781478
EXPECT_FALSE(response->getOption(D6O_NEW_POSIX_TIMEZONE));
14791479

0 commit comments

Comments
 (0)