From 2c89a746fecca4bfd64a43a05e40f66a0e610f5f Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Wed, 20 Apr 2022 15:59:01 +0000 Subject: [PATCH] test: add a /0 cidr test that blocklists EVERYTHING Signed-off-by: Greg Farnum (cherry picked from commit 8244586cf57426fe4f493d855ba3dd95126ae0e7) --- src/test/osd/TestOSDMap.cc | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/test/osd/TestOSDMap.cc b/src/test/osd/TestOSDMap.cc index 17905952bccc0..d3733672ac7f9 100644 --- a/src/test/osd/TestOSDMap.cc +++ b/src/test/osd/TestOSDMap.cc @@ -2215,6 +2215,39 @@ TEST_F(OSDMapTest, blocklisting_ranges) { } } +TEST_F(OSDMapTest, blocklisting_weirder) { + set_up_map(6); //whatever + OSDMap::Incremental range_blocklist_inc(osdmap.get_epoch() + 1); + entity_addr_t baddr; + baddr.parse("2001:db8::/0"); + baddr.type = entity_addr_t::TYPE_CIDR; + range_blocklist_inc.new_range_blocklist[baddr] = ceph_clock_now(); + osdmap.apply_incremental(range_blocklist_inc); + + for (const auto& a: ip_addrs) { + entity_addr_t addr; + addr.parse(a); + addr.set_type(entity_addr_t::TYPE_LEGACY); + if (addr.is_ipv4()) continue; + bool blocklisted = osdmap.is_blocklisted(addr, g_ceph_context); + if (!blocklisted) { + cout << "erroneously not blocklisted " << addr << std::endl; + } + ASSERT_TRUE(blocklisted); + } + for (const auto& a: unblocked_ip_addrs) { + entity_addr_t addr; + addr.parse(a); + addr.set_type(entity_addr_t::TYPE_LEGACY); + if (addr.is_ipv4()) continue; + bool blocklisted = osdmap.is_blocklisted(addr, g_ceph_context); + if (!blocklisted) { + cout << "erroneously not blocklisted " << addr << std::endl; + } + ASSERT_TRUE(blocklisted); + } +} + INSTANTIATE_TEST_SUITE_P( OSDMap, OSDMapTest, -- 2.39.5