Skip to content

Commit 2041c73

Browse files
Shrikrishna (Shri) Kharefacebook-github-bot
authored andcommitted
MultiNodeUtil: Verify Fabric connectivity for given RDSW
Summary: As titled. Reviewed By: jasmeetbagga Differential Revision: D75760724 Privacy Context Container: L1125642 fbshipit-source-id: 7e858cd61d93129c9e0a142900dd290ae03245e8
1 parent 0084e2f commit 2041c73

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

fboss/lib/multinode/MultiNodeUtil.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,17 @@ std::set<std::string> MultiNodeUtil::getFabricConnectedSwitches(
149149
return connectedSwitches;
150150
}
151151

152+
bool MultiNodeUtil::verifyFabricConnectedSwitchesForRdsw(
153+
int clusterId,
154+
const std::string& rdswToVerify) {
155+
// Every RDSW is connected to all FDSWs in its cluster
156+
std::set<std::string> expectedConnectedSwitches(
157+
clusterIdToFdsws_[clusterId].begin(), clusterIdToFdsws_[clusterId].end());
158+
auto gotConnectedSwitches = getFabricConnectedSwitches(rdswToVerify);
159+
160+
return expectedConnectedSwitches == gotConnectedSwitches;
161+
}
162+
152163
std::set<std::string> MultiNodeUtil::getGlobalSystemPortsOfType(
153164
const std::string& rdsw,
154165
const std::set<RemoteSystemPortType>& types) {

fboss/lib/multinode/MultiNodeUtil.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ class MultiNodeUtil {
3232

3333
std::set<std::string> getFabricConnectedSwitches(
3434
const std::string& switchName);
35+
bool verifyFabricConnectedSwitchesForRdsw(
36+
int clusterId,
37+
const std::string& rdswToVerify);
3538

3639
std::set<std::string> getGlobalSystemPortsOfType(
3740
const std::string& rdsw,

0 commit comments

Comments
 (0)