Skip to content

Conversation

@aalamsi22
Copy link
Contributor

@aalamsi22 aalamsi22 commented Jan 27, 2026

Summary

NOTE: This is part of a series of PRs to add support for ICECUBE800BANW.

ICECUBE800BANW: platform support #844
ICECUBE800BANW: Platform_manager support #845
ICECUBE800BANW: sensor_service config #846

  • Add new platform defintion (ICECUBE800BANW)
  • Add agent support and platform mapping
  • qsfp_service support, bsp platform mapping, wedge_qsfp util
  • Led service suport
  • Adds SAI platform support
  • Creates ASIC configuration files for icecube800banw
  • Adds initial hardware link test and qsfp test configs

Test Plan

To be added soon

@meta-codesync
Copy link

meta-codesync bot commented Jan 28, 2026

@joancaneus has imported this pull request. If you are a Meta employee, you can view this in D91697079.

@joancaneus
Copy link
Contributor

@aalamsi22 as mentioned offline, we would like this to be split where we will land one, rebase, and run ondiff and land the other one so that they build can pass. I ask the AI for a plan, and below is what I got from it.

Processing query ...

Here's the 8-PR approach with landing priority order:

ICECUBE800BANW Platform Support - 8 PR Landing Order
====================================================

Since PRs are imported as independent Phabricator diffs, each PR must
include ALL dependencies from previous PRs to pass on-diff CI.

This means each PR is CUMULATIVE - it includes files from all previous PRs.


LANDING ORDER (1 = First, 8 = Last)
===================================

PRIORITY 1: Foundation (Thrift + Platform Type)
-----------------------------------------------
Owner: Platform Team
Reviewers: fboss-plat-x86

Files:
  fbcode/fboss/lib/if/fboss_common.thrift
  fbcode/fboss/lib/platforms/PlatformMode.h
  fbcode/fboss/lib/platforms/PlatformProductInfo.cpp


PRIORITY 2: Platform Mapping
----------------------------
Owner: Platform Team
Reviewers: fboss-plat-x86

Includes all files from Priority 1, PLUS:
  fbcode/fboss/agent/platforms/common/BUCK
  fbcode/fboss/agent/platforms/common/icecube800banw/BUCK
  fbcode/fboss/agent/platforms/common/icecube800banw/Icecube800banwPlatformMapping.cpp
  fbcode/fboss/agent/platforms/common/icecube800banw/Icecube800banwPlatformMapping.h
  fbcode/fboss/agent/platforms/common/PlatformMappingUtils.cpp
  fbcode/fboss/lib/platform_mapping_v2/platforms/icecube800banw/icecube800banw_port_profile_mapping.csv
  fbcode/fboss/lib/platform_mapping_v2/platforms/icecube800banw/icecube800banw_profile_settings.csv
  fbcode/fboss/lib/platform_mapping_v2/platforms/icecube800banw/icecube800banw_si_settings.csv
  fbcode/fboss/lib/platform_mapping_v2/platforms/icecube800banw/icecube800banw_static_mapping.csv
  fbcode/fboss/lib/platform_mapping_v2/platforms/icecube800banw/icecube800banw_vendor_config.json
  fbcode/fboss/lib/platform_mapping_v2/generated_platform_mappings/icecube800banw_platform_mapping.json
  fbcode/fboss/lib/platform_mapping_v2/test/verify_generated_files.py


PRIORITY 3: BSP Platform Mapping
--------------------------------
Owner: Optics Team
Reviewers: FBOSS Optics & Phy

Includes all files from Priority 1-2, PLUS:
  fbcode/fboss/lib/bsp/BUCK
  fbcode/fboss/lib/bsp/icecube800banw/BUCK
  fbcode/fboss/lib/bsp/icecube800banw/Icecube800banwBspPlatformMapping.cpp
  fbcode/fboss/lib/bsp/icecube800banw/Icecube800banwBspPlatformMapping.h
  fbcode/fboss/lib/bsp/BspGenericSystemContainer.cpp
  fbcode/fboss/lib/bsp/bspmapping/input/Icecube800banw_BspMapping.csv
  fbcode/fboss/lib/bsp/bspmapping/Main.cpp
  fbcode/fboss/lib/bsp/bspmapping/Parser.h
  fbcode/fboss/lib/bsp/bspmapping/test/ParserTest.cpp


PRIORITY 4: QSFP Service
------------------------
Owner: Optics Team
Reviewers: FBOSS Optics & Phy

Includes all files from Priority 1-3, PLUS:
  fbcode/fboss/qsfp_service/platforms/wedge/WedgeManagerInit.cpp
  fbcode/fboss/util/BUCK
  fbcode/fboss/util/wedge_qsfp_util.cpp


PRIORITY 5: SAI Platform/Agent
------------------------------
Owner: Agent Team
Reviewers: Agent team

Includes all files from Priority 1-4, PLUS:
  fbcode/fboss/agent/platforms/sai/SaiBcmIcecube800banwPlatform.cpp
  fbcode/fboss/agent/platforms/sai/SaiBcmIcecube800banwPlatform.h
  fbcode/fboss/agent/platforms/sai/SaiBcmIcecube800banwPlatformPort.cpp
  fbcode/fboss/agent/platforms/sai/SaiBcmIcecube800banwPlatformPort.h
  fbcode/fboss/agent/platforms/sai/SaiPlatform.cpp
  fbcode/fboss/agent/platforms/sai/SaiPlatformInit.cpp


PRIORITY 6: LED Service
-----------------------
Owner: Platform Team
Reviewers: fboss-plat-x86

Includes all files from Priority 1-5, PLUS:
  fbcode/fboss/led_service/BUCK
  fbcode/fboss/led_service/Icecube800banwLedManager.cpp
  fbcode/fboss/led_service/Icecube800banwLedManager.h
  fbcode/fboss/led_service/LedManagerInit.cpp
  fbcode/fboss/platform/configs/icecube800banw/led_manager.json


PRIORITY 7: ASIC Config
-----------------------
Owner: Platform Team
Reviewers: fboss-plat-x86

Includes all files from Priority 1-6, PLUS:
  fbcode/fboss/lib/asic_config_v2/BUCK
  fbcode/fboss/lib/asic_config_v2/icecube800banw.py
  fbcode/fboss/lib/asic_config_v2/gen.py
  fbcode/fboss/lib/asic_config_v2/generated_asic_configs/icecube800banw_default.yml


PRIORITY 8: OSS/CMake & Test Configs
------------------------------------
Owner: OSS Team
Reviewers: OSS team

Includes all files from Priority 1-7, PLUS:
  fbcode/fboss/github/cmake/Agent.cmake
  fbcode/fboss/github/cmake/AgentPlatformsCommon.cmake
  fbcode/fboss/github/cmake/AgentPlatformsCommonIcecube800banw.cmake
  fbcode/fboss/github/cmake/AgentPlatformsSai.cmake
  fbcode/fboss/github/cmake/AsicConfigV2ConfigCli.cmake
  fbcode/fboss/github/cmake/LedService.cmake
  fbcode/fboss/github/cmake/QsfpService.cmake
  fbcode/fboss/github/cmake/QsfpServicePlatformsWedge.cmake
  fbcode/fboss/oss/hw_test_configs/icecube800banw.agent.materialized_JSON
  fbcode/fboss/oss/link_test_configs/icecube800banw.materialized_JSON
  fbcode/fboss/oss/qsfp_test_configs/icecube800banw.materialized_JSON


SUMMARY
=======

+----------+-------------------+------------------+-------------+
| Priority | Component         | Owner            | New Files   |
+----------+-------------------+------------------+-------------+
|    1     | Foundation/Thrift | Platform Team    |      3      |
|    2     | Platform Mapping  | Platform Team    |     12      |
|    3     | BSP Mapping       | Optics Team      |      9      |
|    4     | QSFP Service      | Optics Team      |      3      |
|    5     | SAI Platform      | Agent Team       |      6      |
|    6     | LED Service       | Platform Team    |      5      |
|    7     | ASIC Config       | Platform Team    |      4      |
|    8     | OSS/CMake         | OSS Team         |     11      |
+----------+-------------------+------------------+-------------+
| TOTAL    |                   |                  |     53      |
+----------+-------------------+------------------+-------------+


IMPORTANT NOTE
==============

Because each PR is imported as an INDEPENDENT Phabricator diff:

Option A: Cumulative PRs (Recommended)
--------------------------------------
Each PR includes ALL files from previous PRs.
- PR 1: 3 files
- PR 2: 3 + 12 = 15 files
- PR 3: 15 + 9 = 24 files
- PR 4: 24 + 3 = 27 files
- PR 5: 27 + 6 = 33 files
- PR 6: 33 + 5 = 38 files
- PR 7: 38 + 4 = 42 files
- PR 8: 42 + 11 = 53 files

This ensures each diff passes on-diff CI independently.
After PR N lands, PR N+1 will show only the delta when rebased.

Option B: Independent PRs (Requires manual stacking in Phabricator)
-------------------------------------------------------------------
Each PR contains only its own files.
Requires someone internal to manually stack the diffs in Phabricator
using "Depends on DXXXXXX" and ensure they land in order.
On-diff CI may fail until the stack is properly configured.


LANDING INSTRUCTIONS
====================

1. Land Priority 1 first
2. After Priority 1 lands, rebase Priority 2 onto main, then land
3. After Priority 2 lands, rebase Priority 3 onto main, then land
4. Continue in order through Priority 8

Each PR should include "Depends on PR #X" in the description to
indicate the dependency chain.

@aalamsi22 aalamsi22 closed this Jan 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants