@@ -304,10 +304,8 @@ TEST_F(Dhcpv4SrvTest, adjustIfaceDataRelayPort) {
304
304
req->setRemotePort (1234 );
305
305
306
306
// 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));
311
309
ASSERT_TRUE (rai);
312
310
req->addOption (rai);
313
311
OptionPtr relay_port (new Option (Option::V4, RAI_OPTION_RELAY_PORT));
@@ -880,10 +878,8 @@ TEST_F(Dhcpv4SrvTest, initResponse) {
880
878
// client-id echo is optional
881
879
// rai echo is done in relayAgentInfoEcho
882
880
// 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));
887
883
ASSERT_TRUE (sbnsel);
888
884
sbnsel->writeAddress (IOAddress (" 192.0.2.3" ));
889
885
query->addOption (sbnsel);
@@ -1081,11 +1077,9 @@ TEST_F(Dhcpv4SrvTest, sanityCheckDiscover) {
1081
1077
ASSERT_NO_THROW (srv.processDiscover (pkt));
1082
1078
1083
1079
// 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 ();
1087
1081
1088
- OptionCustomPtr server_id (new OptionCustom (* server_id_def, Option::V4));
1082
+ OptionCustomPtr server_id (new OptionCustom (server_id_def, Option::V4));
1089
1083
server_id->writeAddress (IOAddress (" 192.0.2.3" ));
1090
1084
pkt->addOption (server_id);
1091
1085
EXPECT_THROW_MSG (srv.processDiscover (pkt), RFCViolation,
@@ -1113,10 +1107,8 @@ TEST_F(Dhcpv4SrvTest, sanityCheckRequest) {
1113
1107
EXPECT_NO_THROW (srv.processRequest (pkt));
1114
1108
1115
1109
// 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));
1120
1112
req_addr->writeAddress (IOAddress (" 192.0.2.3" ));
1121
1113
pkt->addOption (req_addr);
1122
1114
ASSERT_NO_THROW (srv.processRequest (pkt));
@@ -1128,11 +1120,9 @@ TEST_F(Dhcpv4SrvTest, sanityCheckRequest) {
1128
1120
ASSERT_NO_THROW (srv.processRequest (pkt));
1129
1121
1130
1122
// 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 ();
1134
1124
1135
- OptionCustomPtr server_id (new OptionCustom (* server_id_def, Option::V4));
1125
+ OptionCustomPtr server_id (new OptionCustom (server_id_def, Option::V4));
1136
1126
server_id->writeAddress (IOAddress (" 192.0.2.3" ));
1137
1127
pkt->addOption (server_id);
1138
1128
EXPECT_NO_THROW (srv.processRequest (pkt));
@@ -1160,10 +1150,8 @@ TEST_F(Dhcpv4SrvTest, sanityCheckDecline) {
1160
1150
" sent from [hwtype=1 00:fe:fe:fe:fe:fe], cid=[no info], tid=0x4d2" );
1161
1151
1162
1152
// 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));
1167
1155
req_addr->writeAddress (IOAddress (" 192.0.2.3" ));
1168
1156
pkt->addOption (req_addr);
1169
1157
ASSERT_NO_THROW (srv.processDecline (pkt));
@@ -1175,11 +1163,9 @@ TEST_F(Dhcpv4SrvTest, sanityCheckDecline) {
1175
1163
ASSERT_NO_THROW (srv.processDecline (pkt));
1176
1164
1177
1165
// 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 ();
1181
1167
1182
- OptionCustomPtr server_id (new OptionCustom (* server_id_def, Option::V4));
1168
+ OptionCustomPtr server_id (new OptionCustom (server_id_def, Option::V4));
1183
1169
server_id->writeAddress (IOAddress (" 192.0.2.3" ));
1184
1170
pkt->addOption (server_id);
1185
1171
EXPECT_NO_THROW (srv.processDecline (pkt));
@@ -1209,11 +1195,9 @@ TEST_F(Dhcpv4SrvTest, sanityCheckRelease) {
1209
1195
ASSERT_NO_THROW (srv.processRelease (pkt));
1210
1196
1211
1197
// 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 ();
1215
1199
1216
- OptionCustomPtr server_id (new OptionCustom (* server_id_def, Option::V4));
1200
+ OptionCustomPtr server_id (new OptionCustom (server_id_def, Option::V4));
1217
1201
server_id->writeAddress (IOAddress (" 192.0.2.3" ));
1218
1202
pkt->addOption (server_id);
1219
1203
EXPECT_NO_THROW (srv.processRelease (pkt));
@@ -1239,10 +1223,8 @@ TEST_F(Dhcpv4SrvTest, sanityCheckInform) {
1239
1223
ASSERT_NO_THROW (srv.processInform (pkt));
1240
1224
1241
1225
// 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));
1246
1228
req_addr->writeAddress (IOAddress (" 192.0.2.3" ));
1247
1229
pkt->addOption (req_addr);
1248
1230
ASSERT_NO_THROW (srv.processInform (pkt));
@@ -1254,11 +1236,9 @@ TEST_F(Dhcpv4SrvTest, sanityCheckInform) {
1254
1236
ASSERT_NO_THROW (srv.processInform (pkt));
1255
1237
1256
1238
// 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 ();
1260
1240
1261
- OptionCustomPtr server_id (new OptionCustom (* server_id_def, Option::V4));
1241
+ OptionCustomPtr server_id (new OptionCustom (server_id_def, Option::V4));
1262
1242
server_id->writeAddress (IOAddress (" 192.0.2.3" ));
1263
1243
pkt->addOption (server_id);
1264
1244
EXPECT_NO_THROW (srv.processInform (pkt));
@@ -2643,13 +2623,11 @@ TEST_F(Dhcpv4SrvTest, acceptServerId) {
2643
2623
// Remove the server identifier.
2644
2624
ASSERT_NO_THROW (pkt->delOption (DHO_DHCP_SERVER_IDENTIFIER));
2645
2625
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 ();
2649
2627
OptionBuffer override_server_id_buf (IOAddress (" 10.0.0.128" ).toBytes ());
2650
2628
2651
2629
// Create RAI option.
2652
- OptionCustomPtr rai (new OptionCustom (* rai_def, Option::V4));
2630
+ OptionCustomPtr rai (new OptionCustom (rai_def, Option::V4));
2653
2631
OptionPtr rai_override_server_id (new Option (Option::V4,
2654
2632
RAI_OPTION_SERVER_ID_OVERRIDE,
2655
2633
override_server_id_buf));
@@ -4487,10 +4465,8 @@ TEST_F(Dhcpv4SrvTest, relayLinkSelect) {
4487
4465
dis->addOption (clientid);
4488
4466
4489
4467
// 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));
4494
4470
ASSERT_TRUE (rai);
4495
4471
IOAddress addr (" 192.0.3.2" );
4496
4472
OptionPtr ols (new Option (Option::V4,
@@ -4518,10 +4494,8 @@ TEST_F(Dhcpv4SrvTest, relayLinkSelect) {
4518
4494
EXPECT_FALSE (drop);
4519
4495
4520
4496
// 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));
4525
4499
ASSERT_TRUE (sbnsel);
4526
4500
sbnsel->writeAddress (IOAddress (" 192.0.2.3" ));
4527
4501
dis->addOption (sbnsel);
@@ -4622,10 +4596,8 @@ TEST_F(Dhcpv4SrvTest, relayIgnoreLinkSelect) {
4622
4596
dis->addOption (clientid);
4623
4597
4624
4598
// 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));
4629
4601
ASSERT_TRUE (rai);
4630
4602
IOAddress addr (" 192.0.3.2" );
4631
4603
OptionPtr ols (new Option (Option::V4,
@@ -4655,10 +4627,8 @@ TEST_F(Dhcpv4SrvTest, relayIgnoreLinkSelect) {
4655
4627
4656
4628
// Subnet select option has a lower precedence, but will succeed
4657
4629
// 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));
4662
4632
ASSERT_TRUE (sbnsel);
4663
4633
sbnsel->writeAddress (IOAddress (" 192.0.2.3" ));
4664
4634
dis->addOption (sbnsel);
@@ -4758,10 +4728,8 @@ TEST_F(Dhcpv4SrvTest, subnetSelect) {
4758
4728
dis->addOption (clientid);
4759
4729
4760
4730
// 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));
4765
4733
ASSERT_TRUE (sbnsel);
4766
4734
sbnsel->writeAddress (IOAddress (" 192.0.3.2" ));
4767
4735
@@ -5258,10 +5226,8 @@ class StashAgentOptionTest : public Dhcpv4SrvTest {
5258
5226
query_->setHWAddr (hwaddr_);
5259
5227
query_->setCiaddr (addr_);
5260
5228
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));
5265
5231
rai_sub_.reset (new Option (Option::V4, RAI_OPTION_LINK_SELECTION,
5266
5232
addr_.toBytes ()));
5267
5233
rai_->addOption (rai_sub_);
@@ -5290,9 +5256,6 @@ class StashAgentOptionTest : public Dhcpv4SrvTest {
5290
5256
LeaseMgrFactory::destroy ();
5291
5257
}
5292
5258
5293
- // / @brief RAI definition.
5294
- static OptionDefinitionPtr rai_def_;
5295
-
5296
5259
// / @brief Client address.
5297
5260
IOAddress addr_;
5298
5261
@@ -5324,15 +5287,6 @@ class StashAgentOptionTest : public Dhcpv4SrvTest {
5324
5287
ElementPtr sub_options_;
5325
5288
};
5326
5289
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
-
5336
5290
// Verify the basic positive case.
5337
5291
TEST_F (StashAgentOptionTest, basic) {
5338
5292
CfgMgr::instance ().commit ();
@@ -5398,7 +5352,7 @@ TEST_F(StashAgentOptionTest, oldExtendedInfo) {
5398
5352
// Verify that empty RAI is supported.
5399
5353
TEST_F (StashAgentOptionTest, emptyRelayAgentInfo) {
5400
5354
// 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 () ,
5402
5356
Option::V4));
5403
5357
query_->addOption (empty_rai);
5404
5358
0 commit comments