mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-31 22:15:23 +00:00
[#1518] addressed review comments
This commit is contained in:
@@ -228,7 +228,7 @@ public:
|
|||||||
// top of the now-absent options.
|
// top of the now-absent options.
|
||||||
OptionCollection tmp = offer->getOptions(DHO_VIVSO_SUBOPTIONS);
|
OptionCollection tmp = offer->getOptions(DHO_VIVSO_SUBOPTIONS);
|
||||||
ASSERT_EQ(tmp.size(), result_vendor_ids.size());
|
ASSERT_EQ(tmp.size(), result_vendor_ids.size());
|
||||||
if (!result_vendor_ids.size()) {
|
if (result_vendor_ids.empty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -253,7 +253,8 @@ public:
|
|||||||
ASSERT_TRUE(docsis2);
|
ASSERT_TRUE(docsis2);
|
||||||
|
|
||||||
// It should be an Option4AddrLst.
|
// It should be an Option4AddrLst.
|
||||||
Option4AddrLstPtr tftp_srvs = boost::dynamic_pointer_cast<Option4AddrLst>(docsis2);
|
Option4AddrLstPtr tftp_srvs =
|
||||||
|
boost::dynamic_pointer_cast<Option4AddrLst>(docsis2);
|
||||||
ASSERT_TRUE(tftp_srvs);
|
ASSERT_TRUE(tftp_srvs);
|
||||||
|
|
||||||
// Check that the provided addresses match the ones in configuration.
|
// Check that the provided addresses match the ones in configuration.
|
||||||
@@ -291,9 +292,9 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// @brief Checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
/// @brief Checks if vendor options is parsed correctly and the persistent
|
||||||
/// vendor options is parsed correctly and the configured options are
|
/// options are actually assigned. Also covers negative tests that options
|
||||||
/// actually assigned.
|
/// are not provided when a different vendor ID is given.
|
||||||
///
|
///
|
||||||
/// @param configured_vendor_ids The vendor IDs that are configured in the
|
/// @param configured_vendor_ids The vendor IDs that are configured in the
|
||||||
/// server: 4491 or both 4491 and 3561.
|
/// server: 4491 or both 4491 and 3561.
|
||||||
@@ -307,18 +308,20 @@ public:
|
|||||||
std::vector<uint32_t> configured_options,
|
std::vector<uint32_t> configured_options,
|
||||||
bool add_vendor_option) {
|
bool add_vendor_option) {
|
||||||
std::vector<uint32_t> result_vendor_ids;
|
std::vector<uint32_t> result_vendor_ids;
|
||||||
ASSERT_TRUE(configured_vendor_ids.size());
|
ASSERT_FALSE(configured_vendor_ids.empty());
|
||||||
ASSERT_EQ(configured_vendor_ids[0], VENDOR_ID_CABLE_LABS);
|
ASSERT_EQ(configured_vendor_ids[0], VENDOR_ID_CABLE_LABS);
|
||||||
if (add_vendor_option) {
|
if (add_vendor_option) {
|
||||||
for (const auto& req : requested_vendor_ids) {
|
for (const auto& req : requested_vendor_ids) {
|
||||||
if (std::find(configured_vendor_ids.begin(), configured_vendor_ids.end(), req) != configured_vendor_ids.end()) {
|
if (std::find(configured_vendor_ids.begin(),
|
||||||
|
configured_vendor_ids.end(), req) !=
|
||||||
|
configured_vendor_ids.end()) {
|
||||||
result_vendor_ids.push_back(req);
|
result_vendor_ids.push_back(req);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
result_vendor_ids = configured_vendor_ids;
|
result_vendor_ids = configured_vendor_ids;
|
||||||
}
|
}
|
||||||
ASSERT_TRUE(configured_options.size());
|
ASSERT_FALSE(configured_options.empty());
|
||||||
ASSERT_EQ(configured_options[0], DOCSIS3_V4_TFTP_SERVERS);
|
ASSERT_EQ(configured_options[0], DOCSIS3_V4_TFTP_SERVERS);
|
||||||
// Create a config with a custom options.
|
// Create a config with a custom options.
|
||||||
string config = R"(
|
string config = R"(
|
||||||
@@ -480,7 +483,7 @@ public:
|
|||||||
OptionCollection tmp = offer->getOptions(DHO_VIVSO_SUBOPTIONS);
|
OptionCollection tmp = offer->getOptions(DHO_VIVSO_SUBOPTIONS);
|
||||||
ASSERT_EQ(tmp.size(), result_vendor_ids.size());
|
ASSERT_EQ(tmp.size(), result_vendor_ids.size());
|
||||||
|
|
||||||
for (const auto& opt : tmp) {
|
for (auto const& opt : tmp) {
|
||||||
// The response should be an OptionVendor.
|
// The response should be an OptionVendor.
|
||||||
OptionVendorPtr vendor_resp;
|
OptionVendorPtr vendor_resp;
|
||||||
|
|
||||||
@@ -523,7 +526,8 @@ public:
|
|||||||
// The option is serialized as Option so it needs to be converted to
|
// The option is serialized as Option so it needs to be converted to
|
||||||
// Option4AddrLst.
|
// Option4AddrLst.
|
||||||
auto const& buffer = docsis2->toBinary();
|
auto const& buffer = docsis2->toBinary();
|
||||||
tftp_srvs.reset(new Option4AddrLst(DOCSIS3_V4_TFTP_SERVERS, buffer.begin(), buffer.end()));
|
tftp_srvs.reset(new Option4AddrLst(DOCSIS3_V4_TFTP_SERVERS,
|
||||||
|
buffer.begin(), buffer.end()));
|
||||||
}
|
}
|
||||||
ASSERT_TRUE(tftp_srvs);
|
ASSERT_TRUE(tftp_srvs);
|
||||||
|
|
||||||
@@ -548,7 +552,8 @@ public:
|
|||||||
// The option is serialized as Option so it needs to be converted to
|
// The option is serialized as Option so it needs to be converted to
|
||||||
// OptionString.
|
// OptionString.
|
||||||
auto const& buffer = custom->toBinary();
|
auto const& buffer = custom->toBinary();
|
||||||
OptionStringPtr tag(new OptionString(Option::V4, 22, buffer.begin(), buffer.end()));
|
OptionStringPtr tag(new OptionString(Option::V4, 22,
|
||||||
|
buffer.begin(), buffer.end()));
|
||||||
ASSERT_TRUE(tag);
|
ASSERT_TRUE(tag);
|
||||||
|
|
||||||
// Check that the provided value match the ones in configuration.
|
// Check that the provided value match the ones in configuration.
|
||||||
@@ -563,6 +568,7 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @brief Test configuration for IfaceMgr.
|
||||||
std::unique_ptr<IfaceMgrTestConfig> iface_mgr_test_config_;
|
std::unique_ptr<IfaceMgrTestConfig> iface_mgr_test_config_;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -630,7 +636,8 @@ TEST_F(VendorOptsTest, vendorOptionsDocsis) {
|
|||||||
ASSERT_TRUE(vendor_opt_response);
|
ASSERT_TRUE(vendor_opt_response);
|
||||||
|
|
||||||
// Check if it's of a correct type
|
// Check if it's of a correct type
|
||||||
OptionVendorPtr vendor_opt = boost::dynamic_pointer_cast<OptionVendor>(vendor_opt_response);
|
OptionVendorPtr vendor_opt =
|
||||||
|
boost::dynamic_pointer_cast<OptionVendor>(vendor_opt_response);
|
||||||
ASSERT_TRUE(vendor_opt);
|
ASSERT_TRUE(vendor_opt);
|
||||||
ASSERT_EQ(vendor_opt->getVendorId(), VENDOR_ID_CABLE_LABS);
|
ASSERT_EQ(vendor_opt->getVendorId(), VENDOR_ID_CABLE_LABS);
|
||||||
|
|
||||||
@@ -698,133 +705,189 @@ TEST_F(VendorOptsTest, docsisVendorORO) {
|
|||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
||||||
// vendor options is parsed correctly and the requested options are actually assigned.
|
// vendor options is parsed correctly and the requested options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorOptionsOROOneOption) {
|
TEST_F(VendorOptsTest, vendorOptionsOROOneOption) {
|
||||||
testVendorOptionsORO({VENDOR_ID_CABLE_LABS}, {VENDOR_ID_CABLE_LABS}, {DOCSIS3_V4_TFTP_SERVERS});
|
testVendorOptionsORO({VENDOR_ID_CABLE_LABS},
|
||||||
|
{VENDOR_ID_CABLE_LABS},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS});
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
||||||
// vendor options is parsed correctly and the requested options are actually assigned.
|
// vendor options is parsed correctly and the requested options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorOptionsOROMultipleOptions) {
|
TEST_F(VendorOptsTest, vendorOptionsOROMultipleOptions) {
|
||||||
testVendorOptionsORO({VENDOR_ID_CABLE_LABS}, {VENDOR_ID_CABLE_LABS}, {DOCSIS3_V4_TFTP_SERVERS, 22});
|
testVendorOptionsORO({VENDOR_ID_CABLE_LABS},
|
||||||
|
{VENDOR_ID_CABLE_LABS},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS, 22});
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
||||||
// vendor options is parsed correctly and the requested options are actually assigned.
|
// vendor options is parsed correctly and the requested options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorOptionsOROOneOptionMultipleVendorsMatchOne) {
|
TEST_F(VendorOptsTest, vendorOptionsOROOneOptionMultipleVendorsMatchOne) {
|
||||||
testVendorOptionsORO({VENDOR_ID_CABLE_LABS, 3561}, {VENDOR_ID_CABLE_LABS}, {DOCSIS3_V4_TFTP_SERVERS});
|
testVendorOptionsORO({VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{VENDOR_ID_CABLE_LABS},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS});
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
||||||
// vendor options is parsed correctly and the requested options are actually assigned.
|
// vendor options is parsed correctly and the requested options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorOptionsOROMultipleOptionsMultipleVendorsMatchOne) {
|
TEST_F(VendorOptsTest, vendorOptionsOROMultipleOptionsMultipleVendorsMatchOne) {
|
||||||
testVendorOptionsORO({VENDOR_ID_CABLE_LABS, 3561}, {VENDOR_ID_CABLE_LABS}, {DOCSIS3_V4_TFTP_SERVERS, 22});
|
testVendorOptionsORO({VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{VENDOR_ID_CABLE_LABS},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS, 22});
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
||||||
// vendor options is parsed correctly and the requested options are actually assigned.
|
// vendor options is parsed correctly and the requested options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorOptionsOROOneOptionMultipleVendorsMatchAll) {
|
TEST_F(VendorOptsTest, vendorOptionsOROOneOptionMultipleVendorsMatchAll) {
|
||||||
testVendorOptionsORO({VENDOR_ID_CABLE_LABS, 3561}, {VENDOR_ID_CABLE_LABS, 3561}, {DOCSIS3_V4_TFTP_SERVERS});
|
testVendorOptionsORO({VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS});
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
||||||
// vendor options is parsed correctly and the requested options are actually assigned.
|
// vendor options is parsed correctly and the requested options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorOptionsOROMultipleOptionsMultipleVendorsMatchAll) {
|
TEST_F(VendorOptsTest, vendorOptionsOROMultipleOptionsMultipleVendorsMatchAll) {
|
||||||
testVendorOptionsORO({VENDOR_ID_CABLE_LABS, 3561}, {VENDOR_ID_CABLE_LABS, 3561}, {DOCSIS3_V4_TFTP_SERVERS, 22});
|
testVendorOptionsORO({VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS, 22});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Same as vendorOptionsORO except a different vendor ID than Cable Labs is
|
// Same as vendorOptionsORO except a different vendor ID than Cable Labs is
|
||||||
// provided and vendor options are expected to not be present in the response.
|
// provided and vendor options are expected to not be present in the response.
|
||||||
TEST_F(VendorOptsTest, vendorOptionsOROOneOptionDifferentVendorID) {
|
TEST_F(VendorOptsTest, vendorOptionsOROOneOptionDifferentVendorID) {
|
||||||
testVendorOptionsORO({VENDOR_ID_CABLE_LABS}, {32768}, {DOCSIS3_V4_TFTP_SERVERS});
|
testVendorOptionsORO({VENDOR_ID_CABLE_LABS},
|
||||||
|
{32768},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Same as vendorOptionsORO except a different vendor ID than Cable Labs is
|
// Same as vendorOptionsORO except a different vendor ID than Cable Labs is
|
||||||
// provided and vendor options are expected to not be present in the response.
|
// provided and vendor options are expected to not be present in the response.
|
||||||
TEST_F(VendorOptsTest, vendorOptionsOROMultipleOptionsDifferentVendorID) {
|
TEST_F(VendorOptsTest, vendorOptionsOROMultipleOptionsDifferentVendorID) {
|
||||||
testVendorOptionsORO({VENDOR_ID_CABLE_LABS}, {32768}, {DOCSIS3_V4_TFTP_SERVERS, 22});
|
testVendorOptionsORO({VENDOR_ID_CABLE_LABS},
|
||||||
|
{32768},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS, 22});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Same as vendorOptionsORO except a different vendor ID than Cable Labs is
|
// Same as vendorOptionsORO except a different vendor ID than Cable Labs is
|
||||||
// provided and vendor options are expected to not be present in the response.
|
// provided and vendor options are expected to not be present in the response.
|
||||||
TEST_F(VendorOptsTest, vendorOptionsOROOneOptionDifferentVendorIDMultipleVendorsMatchNone) {
|
TEST_F(VendorOptsTest, vendorOptionsOROOneOptionDifferentVendorIDMultipleVendorsMatchNone) {
|
||||||
testVendorOptionsORO({VENDOR_ID_CABLE_LABS, 3561}, {32768, 16384}, {DOCSIS3_V4_TFTP_SERVERS});
|
testVendorOptionsORO({VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{32768, 16384},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Same as vendorOptionsORO except a different vendor ID than Cable Labs is
|
// Same as vendorOptionsORO except a different vendor ID than Cable Labs is
|
||||||
// provided and vendor options are expected to not be present in the response.
|
// provided and vendor options are expected to not be present in the response.
|
||||||
TEST_F(VendorOptsTest, vendorOptionsOROMultipleOptionDifferentVendorIDMultipleVendorsMatchNone) {
|
TEST_F(VendorOptsTest, vendorOptionsOROMultipleOptionDifferentVendorIDMultipleVendorsMatchNone) {
|
||||||
testVendorOptionsORO({VENDOR_ID_CABLE_LABS, 3561}, {32768, 16384}, {DOCSIS3_V4_TFTP_SERVERS, 22});
|
testVendorOptionsORO({VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{32768, 16384},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS, 22});
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks vendor options is parsed correctly and the persistent
|
||||||
// vendor options is parsed correctly and persistent options are actually assigned.
|
// options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorPersistentOptionsOneOption) {
|
TEST_F(VendorOptsTest, vendorPersistentOptionsOneOption) {
|
||||||
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS}, {VENDOR_ID_CABLE_LABS}, {DOCSIS3_V4_TFTP_SERVERS}, false);
|
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS},
|
||||||
|
{VENDOR_ID_CABLE_LABS},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS},
|
||||||
|
false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks vendor options is parsed correctly and the persistent
|
||||||
// vendor options is parsed correctly and persistent options are actually assigned.
|
// options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorPersistentOptionsMultipleOption) {
|
TEST_F(VendorOptsTest, vendorPersistentOptionsMultipleOption) {
|
||||||
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS}, {VENDOR_ID_CABLE_LABS}, {DOCSIS3_V4_TFTP_SERVERS, 22}, false);
|
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS},
|
||||||
|
{VENDOR_ID_CABLE_LABS},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS, 22},
|
||||||
|
false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks vendor options is parsed correctly and the persistent
|
||||||
// vendor options is parsed correctly and persistent options are actually assigned.
|
// options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorPersistentOptionsOneOptionMultipleVendorsMatchOne) {
|
TEST_F(VendorOptsTest, vendorPersistentOptionsOneOptionMultipleVendorsMatchOne) {
|
||||||
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561}, {VENDOR_ID_CABLE_LABS}, {DOCSIS3_V4_TFTP_SERVERS}, false);
|
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{VENDOR_ID_CABLE_LABS},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS},
|
||||||
|
false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks vendor options is parsed correctly and the persistent
|
||||||
// vendor options is parsed correctly and persistent options are actually assigned.
|
// options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorPersistentOptionsMultipleOptionMultipleVendorsMatchOne) {
|
TEST_F(VendorOptsTest, vendorPersistentOptionsMultipleOptionMultipleVendorsMatchOne) {
|
||||||
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561}, {VENDOR_ID_CABLE_LABS}, {DOCSIS3_V4_TFTP_SERVERS, 22}, false);
|
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{VENDOR_ID_CABLE_LABS},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS, 22},
|
||||||
|
false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks vendor options is parsed correctly and the persistent
|
||||||
// vendor options is parsed correctly and persistent options are actually assigned.
|
// options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorPersistentOptionsOneOptionMultipleVendorsMatchAll) {
|
TEST_F(VendorOptsTest, vendorPersistentOptionsOneOptionMultipleVendorsMatchAll) {
|
||||||
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561}, {VENDOR_ID_CABLE_LABS, 3561}, {DOCSIS3_V4_TFTP_SERVERS}, false);
|
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS},
|
||||||
|
false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks vendor options is parsed correctly and the persistent
|
||||||
// vendor options is parsed correctly and persistent options are actually assigned.
|
// options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorPersistentOptionsMultipleOptionMultipleVendorsMatchAll) {
|
TEST_F(VendorOptsTest, vendorPersistentOptionsMultipleOptionMultipleVendorsMatchAll) {
|
||||||
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561}, {VENDOR_ID_CABLE_LABS, 3561}, {DOCSIS3_V4_TFTP_SERVERS, 22}, false);
|
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS, 22},
|
||||||
|
false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks vendor options is parsed correctly and the persistent
|
||||||
// vendor options is parsed correctly and persistent options are actually assigned.
|
// options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorPersistentOptionsOneOptionAddVendorOption) {
|
TEST_F(VendorOptsTest, vendorPersistentOptionsOneOptionAddVendorOption) {
|
||||||
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS}, {VENDOR_ID_CABLE_LABS}, {DOCSIS3_V4_TFTP_SERVERS}, true);
|
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS},
|
||||||
|
{VENDOR_ID_CABLE_LABS},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS},
|
||||||
|
true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks vendor options is parsed correctly and the persistent
|
||||||
// vendor options is parsed correctly and persistent options are actually assigned.
|
// options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorPersistentOptionsMultipleOptionAddVendorOption) {
|
TEST_F(VendorOptsTest, vendorPersistentOptionsMultipleOptionAddVendorOption) {
|
||||||
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS}, {VENDOR_ID_CABLE_LABS}, {DOCSIS3_V4_TFTP_SERVERS, 22}, true);
|
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS},
|
||||||
|
{VENDOR_ID_CABLE_LABS},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS, 22},
|
||||||
|
true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks vendor options is parsed correctly and the persistent
|
||||||
// vendor options is parsed correctly and persistent options are actually assigned.
|
// options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorPersistentOptionsOneOptionMultipleVendorsMatchOneAddVendorOption) {
|
TEST_F(VendorOptsTest, vendorPersistentOptionsOneOptionMultipleVendorsMatchOneAddVendorOption) {
|
||||||
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561}, {VENDOR_ID_CABLE_LABS}, {DOCSIS3_V4_TFTP_SERVERS}, true);
|
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{VENDOR_ID_CABLE_LABS},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS},
|
||||||
|
true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks vendor options is parsed correctly and the persistent
|
||||||
// vendor options is parsed correctly and persistent options are actually assigned.
|
// options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorPersistentOptionsMultipleOptionMultipleVendorsMatchOneAddVendorOption) {
|
TEST_F(VendorOptsTest, vendorPersistentOptionsMultipleOptionMultipleVendorsMatchOneAddVendorOption) {
|
||||||
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561}, {VENDOR_ID_CABLE_LABS}, {DOCSIS3_V4_TFTP_SERVERS, 22}, true);
|
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{VENDOR_ID_CABLE_LABS},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS, 22},
|
||||||
|
true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks vendor options is parsed correctly and the persistent
|
||||||
// vendor options is parsed correctly and persistent options are actually assigned.
|
// options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorPersistentOptionsOneOptionMultipleVendorsMatchAllAddVendorOption) {
|
TEST_F(VendorOptsTest, vendorPersistentOptionsOneOptionMultipleVendorsMatchAllAddVendorOption) {
|
||||||
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561}, {VENDOR_ID_CABLE_LABS, 3561}, {DOCSIS3_V4_TFTP_SERVERS}, true);
|
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS},
|
||||||
|
true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test checks if Option Request Option (ORO) in docsis (vendor-id=4491)
|
// This test checks vendor options is parsed correctly and the persistent
|
||||||
// vendor options is parsed correctly and persistent options are actually assigned.
|
// options are actually assigned.
|
||||||
TEST_F(VendorOptsTest, vendorPersistentOptionsMultipleOptionMultipleVendorsMatchAllAddVendorOption) {
|
TEST_F(VendorOptsTest, vendorPersistentOptionsMultipleOptionMultipleVendorsMatchAllAddVendorOption) {
|
||||||
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561}, {VENDOR_ID_CABLE_LABS, 3561}, {DOCSIS3_V4_TFTP_SERVERS, 22}, true);
|
testVendorOptionsPersistent({VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{VENDOR_ID_CABLE_LABS, 3561},
|
||||||
|
{DOCSIS3_V4_TFTP_SERVERS, 22},
|
||||||
|
true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test checks whether it is possible to use option definitions defined in
|
// Test checks whether it is possible to use option definitions defined in
|
||||||
|
@@ -276,6 +276,7 @@ private:
|
|||||||
}
|
}
|
||||||
)";
|
)";
|
||||||
|
|
||||||
|
// @brief Test configuration for IfaceMgr.
|
||||||
std::unique_ptr<IfaceMgrTestConfig> iface_mgr_test_config_;
|
std::unique_ptr<IfaceMgrTestConfig> iface_mgr_test_config_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -705,6 +705,7 @@ LibDHCP::extendVendorOptions4(OptionCollection& options) {
|
|||||||
vendors_data[vendor_id]);
|
vendors_data[vendor_id]);
|
||||||
} catch (const SkipThisOptionError&) {
|
} catch (const SkipThisOptionError&) {
|
||||||
// Ignore this kind of error and continue.
|
// Ignore this kind of error and continue.
|
||||||
|
break;
|
||||||
} catch (const Exception&) {
|
} catch (const Exception&) {
|
||||||
options.erase(DHO_VIVSO_SUBOPTIONS);
|
options.erase(DHO_VIVSO_SUBOPTIONS);
|
||||||
throw;
|
throw;
|
||||||
|
@@ -408,7 +408,8 @@ TEST_F(LibDhcpTest, packOptions6) {
|
|||||||
OptionBuffer(v6packed + 46, v6packed + 50)));
|
OptionBuffer(v6packed + 46, v6packed + 50)));
|
||||||
|
|
||||||
boost::shared_ptr<OptionInt<uint32_t> >
|
boost::shared_ptr<OptionInt<uint32_t> >
|
||||||
vsi(new OptionInt<uint32_t>(Option::V6, D6O_VENDOR_OPTS, VENDOR_ID_CABLE_LABS));
|
vsi(new OptionInt<uint32_t>(Option::V6, D6O_VENDOR_OPTS,
|
||||||
|
VENDOR_ID_CABLE_LABS));
|
||||||
vsi->addOption(cm_mac);
|
vsi->addOption(cm_mac);
|
||||||
vsi->addOption(cmts_caps);
|
vsi->addOption(cmts_caps);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user