From f407b2106cd997319d799ea2107323aa857a11fc 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) Conflicts: src/test/osd/TestOSDMap.cc Signed-off-by: Greg Farnum --- 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 ee26544933d8e..9ccbaedd82967 100644 --- a/src/test/osd/TestOSDMap.cc +++ b/src/test/osd/TestOSDMap.cc @@ -2229,6 +2229,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_CASE_P( OSDMap, OSDMapTest, -- 2.39.5