in fboss/lib/platforms/PlatformProductInfo.cpp [86:167]
void PlatformProductInfo::initMode() {
if (FLAGS_mode.empty()) {
auto modelName = getProductName();
if (auto platformMode = getDevPlatformMode()) {
mode_ = *platformMode;
} else if (
modelName.find("Wedge100") == 0 || modelName.find("WEDGE100") == 0) {
// Wedge100 comes from fruid.json, WEDGE100 comes from fbwhoami
mode_ = PlatformMode::WEDGE100;
} else if (
modelName.find("Wedge400c") == 0 || modelName.find("WEDGE400C") == 0) {
mode_ = PlatformMode::WEDGE400C;
} else if (
modelName.find("Wedge400") == 0 || modelName.find("WEDGE400") == 0) {
mode_ = PlatformMode::WEDGE400;
} else if (
modelName.find("Darwin") == 0 || modelName.find("DARWIN") == 0 ||
modelName.find("DCS-7060") == 0) {
mode_ = PlatformMode::DARWIN;
} else if (modelName.find("Wedge") == 0 || modelName.find("WEDGE") == 0) {
mode_ = PlatformMode::WEDGE;
} else if (modelName.find("SCM-LC") == 0 || modelName.find("LC") == 0) {
// TODO remove LC once fruid.json is fixed on Galaxy Linecards
mode_ = PlatformMode::GALAXY_LC;
} else if (
modelName.find("SCM-FC") == 0 || modelName.find("SCM-FAB") == 0 ||
modelName.find("FAB") == 0) {
// TODO remove FAB once fruid.json is fixed on Galaxy fabric cards
mode_ = PlatformMode::GALAXY_FC;
} else if (
modelName.find("MINIPACK") == 0 || modelName.find("MINIPHOTON") == 0) {
mode_ = PlatformMode::MINIPACK;
} else if (modelName.find("DCS-7368") == 0 || modelName.find("YAMP") == 0) {
mode_ = PlatformMode::YAMP;
} else if (
modelName.find("DCS-7388") == 0 || modelName.find("ELBERT") == 0) {
mode_ = PlatformMode::ELBERT;
} else if (modelName.find("fake_wedge40") == 0) {
mode_ = PlatformMode::FAKE_WEDGE40;
} else if (modelName.find("fake_wedge") == 0) {
mode_ = PlatformMode::FAKE_WEDGE;
} else if (modelName.find("CLOUDRIPPER") == 0) {
mode_ = PlatformMode::CLOUDRIPPER;
} else if (modelName.find("Lassen") == 0 || modelName.find("LASSEN") == 0) {
mode_ = PlatformMode::LASSEN;
} else if (modelName.find("Sandia") == 0 || modelName.find("SANDIA") == 0) {
mode_ = PlatformMode::SANDIA;
} else {
throw std::runtime_error("invalid model name " + modelName);
}
} else {
if (FLAGS_mode == "wedge") {
mode_ = PlatformMode::WEDGE;
} else if (FLAGS_mode == "wedge100") {
mode_ = PlatformMode::WEDGE100;
} else if (FLAGS_mode == "galaxy_lc") {
mode_ = PlatformMode::GALAXY_LC;
} else if (FLAGS_mode == "galaxy_fc") {
mode_ = PlatformMode::GALAXY_FC;
} else if (FLAGS_mode == "minipack") {
mode_ = PlatformMode::MINIPACK;
} else if (FLAGS_mode == "yamp") {
mode_ = PlatformMode::YAMP;
} else if (FLAGS_mode == "fake_wedge40") {
mode_ = PlatformMode::FAKE_WEDGE40;
} else if (FLAGS_mode == "wedge400") {
mode_ = PlatformMode::WEDGE400;
} else if (FLAGS_mode == "fuji") {
mode_ = PlatformMode::FUJI;
} else if (FLAGS_mode == "elbert") {
mode_ = PlatformMode::ELBERT;
} else if (FLAGS_mode == "darwin") {
mode_ = PlatformMode::DARWIN;
} else if (FLAGS_mode == "lassen") {
mode_ = PlatformMode::LASSEN;
} else if (FLAGS_mode == "sandia") {
mode_ = PlatformMode::SANDIA;
} else {
throw std::runtime_error("invalid mode " + FLAGS_mode);
}
}
}