Skip to content

Commit

Permalink
deprecate unused "getIpPrefix" in OpenrWrapper
Browse files Browse the repository at this point in the history
Summary: as title. this is not being used and is safe to delete

Reviewed By: xiangxu1121

Differential Revision: D42585449

fbshipit-source-id: 7d2e022544a2289fcad55bbe9710859f563ac948
  • Loading branch information
Wei-Cheng Lin authored and facebook-github-bot committed Jan 19, 2023
1 parent 25c1c45 commit bbbb533
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 422 deletions.
316 changes: 0 additions & 316 deletions openr/tests/OpenrSystemTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -228,322 +228,6 @@ class SimpleRingTopologyFixture : public OpenrFixture,
INSTANTIATE_TEST_CASE_P(
SimpleRingTopologyInstance, SimpleRingTopologyFixture, ::testing::Bool());

//
// Verify multi path in ring topology for both v4 and v6 and
// test IP prefix add and withdraw.
//
// TODO: need to figure out way to test e2e by addressing kvstore thrift-sync
/*
TEST_P(SimpleRingTopologyFixture, RingTopologyMultiPathTest) {
// define interface names for the test
mockIoProvider->addIfNameIfIndex(
{{iface12, ifIndex12},
{iface13, ifIndex13},
{iface21, ifIndex21},
{iface24, ifIndex24},
{iface31, ifIndex31},
{iface34, ifIndex34},
{iface42, ifIndex42},
{iface43, ifIndex43}});
// connect interfaces directly
ConnectedIfPairs connectedPairs = {
{iface12, {{iface21, 100}}},
{iface21, {{iface12, 100}}},
{iface24, {{iface42, 100}}},
{iface42, {{iface24, 100}}},
{iface13, {{iface31, 100}}},
{iface31, {{iface13, 100}}},
{iface34, {{iface43, 100}}},
{iface43, {{iface34, 100}}},
};
mockIoProvider->setConnectedPairs(connectedPairs);
bool v4Enabled(GetParam());
v4Enabled = false;
auto openr1 = createOpenr("1", v4Enabled, openr::memLimitMB);
auto openr2 = createOpenr("2", v4Enabled, openr::memLimitMB);
auto openr3 = createOpenr("3", v4Enabled, openr::memLimitMB);
auto openr4 = createOpenr("4", v4Enabled, openr::memLimitMB);
openr1->run();
openr2->run();
openr3->run();
openr4->run();
// wait until all aquamen got synced on kvstore
std::this_thread::sleep_for(kMaxOpenrSyncTime);
// make sure every openr has a prefix allocated
EXPECT_TRUE(openr1->getIpPrefix().has_value());
EXPECT_TRUE(openr2->getIpPrefix().has_value());
EXPECT_TRUE(openr3->getIpPrefix().has_value());
EXPECT_TRUE(openr4->getIpPrefix().has_value());
// start tracking iface1
openr1->updateInterfaceDb(
{InterfaceInfo(
iface12,
true,
ifIndex12,
{ip1V4, ip1V6}),
InterfaceInfo(
iface13,
true,
ifIndex13,
{ip1V4, ip1V6})});
// start tracking iface2
openr2->updateInterfaceDb(
{InterfaceInfo(
iface21,
true,
ifIndex21,
{ip2V4, ip2V6}),
InterfaceInfo(
iface24,
true,
ifIndex24,
{ip2V4, ip2V6})});
// start tracking iface3
openr3->updateInterfaceDb(
{InterfaceInfo(
iface31,
true,
ifIndex31,
{ip3V4, ip3V6}),
InterfaceInfo(
iface34,
true,
ifIndex34,
{ip3V4, ip3V6})});
// start tracking iface4
openr4->updateInterfaceDb(
{InterfaceInfo(
iface42,
true,
ifIndex42,
{ip4V4, ip4V6}),
InterfaceInfo(
iface43,
true,
ifIndex43,
{ip4V4, ip4V6})});
// wait until all aquamen got synced on kvstore
std::this_thread::sleep_for(kMaxOpenrSyncTime);
// make sure the kvstores are synced
EXPECT_TRUE(openr1->checkKeyExists("prefix:1"));
EXPECT_TRUE(openr1->checkKeyExists("prefix:2"));
EXPECT_TRUE(openr1->checkKeyExists("prefix:3"));
EXPECT_TRUE(openr1->checkKeyExists("prefix:4"));
EXPECT_TRUE(openr2->checkKeyExists("prefix:1"));
EXPECT_TRUE(openr2->checkKeyExists("prefix:2"));
EXPECT_TRUE(openr2->checkKeyExists("prefix:3"));
EXPECT_TRUE(openr2->checkKeyExists("prefix:4"));
EXPECT_TRUE(openr3->checkKeyExists("prefix:1"));
EXPECT_TRUE(openr3->checkKeyExists("prefix:2"));
EXPECT_TRUE(openr3->checkKeyExists("prefix:3"));
EXPECT_TRUE(openr3->checkKeyExists("prefix:4"));
EXPECT_TRUE(openr4->checkKeyExists("prefix:1"));
EXPECT_TRUE(openr4->checkKeyExists("prefix:2"));
EXPECT_TRUE(openr4->checkKeyExists("prefix:3"));
EXPECT_TRUE(openr4->checkKeyExists("prefix:4"));
const auto addr1 = openr1->getIpPrefix().value();
const auto addr2 = openr2->getIpPrefix().value();
const auto addr3 = openr3->getIpPrefix().value();
const auto addr4 = openr4->getIpPrefix().value();
const auto addr1V4 = openr1->getIpPrefix().value();
const auto addr2V4 = openr2->getIpPrefix().value();
const auto addr3V4 = openr3->getIpPrefix().value();
const auto addr4V4 = openr4->getIpPrefix().value();
// make sure every node has a prefix assigned
EXPECT_NE(toString(addr1), "");
EXPECT_NE(toString(addr2), "");
EXPECT_NE(toString(addr3), "");
EXPECT_NE(toString(addr4), "");
// make sure every prefix is unique
EXPECT_NE(toString(addr1), toString(addr2));
EXPECT_NE(toString(addr1), toString(addr3));
EXPECT_NE(toString(addr1), toString(addr4));
EXPECT_NE(toString(addr2), toString(addr3));
EXPECT_NE(toString(addr2), toString(addr4));
EXPECT_NE(toString(addr3), toString(addr4));
RouteMap routeMap;
auto routeDb1 = openr1->fibDumpRouteDatabase();
auto routeDb2 = openr2->fibDumpRouteDatabase();
auto routeDb3 = openr3->fibDumpRouteDatabase();
auto routeDb4 = openr4->fibDumpRouteDatabase();
fillRouteMap("1", routeMap, routeDb1);
fillRouteMap("2", routeMap, routeDb2);
fillRouteMap("3", routeMap, routeDb3);
fillRouteMap("4", routeMap, routeDb4);
// validate router 1
EXPECT_EQ(
routeMap[make_pair("1", toString(v4Enabled ? addr2V4 : addr2))],
NextHopsWithMetric({make_pair(toNextHop(adj12, v4Enabled), 1)}));
EXPECT_EQ(
routeMap[make_pair("1", toString(v4Enabled ? addr3V4 : addr3))],
NextHopsWithMetric({make_pair(toNextHop(adj13, v4Enabled), 1)}));
EXPECT_EQ(
routeMap[make_pair("1", toString(v4Enabled ? addr4V4 : addr4))],
NextHopsWithMetric(
{make_pair(toNextHop(adj12, v4Enabled), 2),
make_pair(toNextHop(adj13, v4Enabled), 2)}));
// validate router 2
EXPECT_EQ(
routeMap[make_pair("2", toString(v4Enabled ? addr1V4 : addr1))],
NextHopsWithMetric({make_pair(toNextHop(adj21, v4Enabled), 1)}));
EXPECT_EQ(
routeMap[make_pair("2", toString(v4Enabled ? addr4V4 : addr4))],
NextHopsWithMetric({make_pair(toNextHop(adj24, v4Enabled), 1)}));
EXPECT_EQ(
routeMap[make_pair("2", toString(v4Enabled ? addr3V4 : addr3))],
NextHopsWithMetric(
{make_pair(toNextHop(adj21, v4Enabled), 2),
make_pair(toNextHop(adj24, v4Enabled), 2)}));
// validate router 3
EXPECT_EQ(
routeMap[make_pair("3", toString(v4Enabled ? addr1V4 : addr1))],
NextHopsWithMetric({make_pair(toNextHop(adj31, v4Enabled), 1)}));
EXPECT_EQ(
routeMap[make_pair("3", toString(v4Enabled ? addr4V4 : addr4))],
NextHopsWithMetric({make_pair(toNextHop(adj34, v4Enabled), 1)}));
EXPECT_EQ(
routeMap[make_pair("3", toString(v4Enabled ? addr2V4 : addr2))],
NextHopsWithMetric(
{make_pair(toNextHop(adj31, v4Enabled), 2),
make_pair(toNextHop(adj34, v4Enabled), 2)}));
// validate router 4
EXPECT_EQ(
routeMap[make_pair("4", toString(v4Enabled ? addr2V4 : addr2))],
NextHopsWithMetric({make_pair(toNextHop(adj42, v4Enabled), 1)}));
EXPECT_EQ(
routeMap[make_pair("4", toString(v4Enabled ? addr3V4 : addr3))],
NextHopsWithMetric({make_pair(toNextHop(adj43, v4Enabled), 1)}));
EXPECT_EQ(
routeMap[make_pair("4", toString(v4Enabled ? addr1V4 : addr1))],
NextHopsWithMetric(
{make_pair(toNextHop(adj42, v4Enabled), 2),
make_pair(toNextHop(adj43, v4Enabled), 2)}));
// test IP prefix add and withdraw. Add prefixes and withdraw prefixes
// using prefix manager client, and verify the FIB route dump reflects
// those changes on all the nodes
const auto paddr1 = toIpPrefix("5502::/64");
const auto prefixEntry1 =
createPrefixEntry(paddr1, thrift::PrefixType::DEFAULT);
// openr1 uses separate IP prefix key for each prefix
auto resp = openr1->addPrefixEntries({prefixEntry1});
EXPECT_TRUE(resp);
std::this_thread::sleep_for(kMaxOpenrSyncTime);
routeDb2 = openr2->fibDumpRouteDatabase();
routeDb3 = openr3->fibDumpRouteDatabase();
routeDb4 = openr4->fibDumpRouteDatabase();
EXPECT_TRUE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr1, routeDb2));
EXPECT_TRUE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr1, routeDb3));
EXPECT_TRUE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr1, routeDb4));
const auto paddr2 = toIpPrefix("5503::/64");
const auto prefixEntry2 =
createPrefixEntry(paddr2, thrift::PrefixType::DEFAULT);
// openr2 uses one prefixKey for all prefixes
resp = openr2->addPrefixEntries({prefixEntry2});
EXPECT_TRUE(resp);
std::this_thread::sleep_for(kMaxOpenrSyncTime);
routeDb1 = openr1->fibDumpRouteDatabase();
routeDb3 = openr3->fibDumpRouteDatabase();
routeDb4 = openr4->fibDumpRouteDatabase();
EXPECT_TRUE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr2, routeDb1));
EXPECT_TRUE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr2, routeDb3));
EXPECT_TRUE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr2, routeDb4));
// withdraw prefix1 from openr1, check prefix1 is withdrawn and prefix2
// is still there
// openr1 uses separate IP prefix key for each prefix
resp = openr1->withdrawPrefixEntries({prefixEntry1});
EXPECT_TRUE(resp);
std::this_thread::sleep_for(kMaxOpenrSyncTime);
routeDb1 = openr1->fibDumpRouteDatabase();
routeDb2 = openr2->fibDumpRouteDatabase();
routeDb3 = openr3->fibDumpRouteDatabase();
routeDb4 = openr4->fibDumpRouteDatabase();
// check paddr1 is deleted from FIB
EXPECT_FALSE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr1, routeDb2));
EXPECT_FALSE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr1, routeDb3));
EXPECT_FALSE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr1, routeDb4));
// check paddr2 exists
EXPECT_TRUE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr2, routeDb1));
EXPECT_TRUE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr2, routeDb3));
EXPECT_TRUE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr2, routeDb4));
// Delete prefix from openr2 which uses single prefix key for all prefixes,
// then check prefix is deleted from all other nodes
resp = openr2->withdrawPrefixEntries({prefixEntry2});
EXPECT_TRUE(resp);
std::this_thread::sleep_for(kMaxOpenrSyncTime);
routeDb1 = openr1->fibDumpRouteDatabase();
routeDb3 = openr3->fibDumpRouteDatabase();
routeDb4 = openr4->fibDumpRouteDatabase();
// check paddr2 is deleted from FIB
EXPECT_FALSE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr2, routeDb1));
EXPECT_FALSE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr2, routeDb3));
EXPECT_FALSE(
OpenrWrapper<CompactSerializer>::checkPrefixExists(paddr2, routeDb4));
}
*/

//
// Verify system metrics
//
Expand Down
Loading

0 comments on commit bbbb533

Please sign in to comment.