Skip to main content

New Platform Onboarding

Overview

This document describes the steps involved in onboarding a new platform to FBOSS using OSS. For common problems and their solutions, please refer to the troubleshooting guide.

Preparation Steps

  1. Request access of FBOSS OSS New Platform Onboarding Tracker Template
  2. Make a copy of this template for your new platform
  3. Fill in project details in the Tracker copy and share the file to External Vendor/Meta Workplace Group
  4. Regularly update the project tracker to cover new platform development/testing progress

Steps

  1. [Manual] Add Initial Support for Platform Services

    Work Items:

    • Add platform manager support
    • Add BSP support
    • Build FBOSS Platform Stack
    • Ensure PlatformManager can start successfully
    • Run HW tests for platform services

    Outcomes:

    • platform_manager.json is committed to the FBOSS repository
    • platform_manager.json abides by the specification
    • The BSP repository is setup
    • The BSP repository is accessible by Meta and linked in the summary page of the onboarding tracker
    • The BSP abides by the API specification and development requirements
    • The BSP is compiled as out-of-tree kernel modules and deployed in FBOSS to unblock FBOSS development
    • bsp_tests.json is modified as needed based on guidance in bsp_tests_config.thrift
    • 100% of BSP tests pass
    • Expected errors are defined in the test config if and only if the hardware has a valid reason and this is agreed to by Meta
    • Platform services can be built successfully
    • Platform manager can start successfully
    • 100% of platform service hardware tests pass
  2. Add Necessary Development Code

    Work Items:

    Outcomes:

    • Provide vendor platform mapping csv files and submit to FBOSS OSS repo
    • Generate platform mapping json files and corresponding cpp files
    • Generate bsp config json files and corresonding cpp files
    • Generate all necessary FBOSS Agent cpp files
    • Generate all necessary FBOSS Qsfp cpp files
    • 100% Pass LED HW tests
    • Agent binary can be built linking to the appropriate vendor SDK
    • Agent HW tests binary can be built linking to the appropriate vendor SDK
    • SAI tests binary can be built linking to the appropriate vendor SDK
    • QSFP Service binary can be built
  3. Validate FBOSS Agent Changes

    Work Items:

    Outcomes:

    • Generate Agent config for testing
    • 100% Pass T0 Agent HW tests (include multi-switch binary)
    • 100% Pass T0 SAI tests
  4. Validate Transceiver/Phy Changes

    Work Items:

    Outcomes:

    • QSFP HW tests binary can be built
    • Vendor should use Meta recommended transceivers to setup 100% port coverage test setup
    • Generate QSFP config for testing
    • 100% Pass T0 QSFP tests
  5. Validate FBOSS Forwarding Stack

    Work Items:

    Outcomes:

    • Link Test binary can be built linking to the appropriate vendor SDK
    • Work with Meta to generate the Link Test config based on the 100% port coverage test setup
    • 100% Pass T0 Link tests
    • Successfully use systemd to bringup FBOSS Agent and QSFP Service on two connected switches
    • The two switches are able to ping each other and fboss can learn arp/ndp
  6. Achieve 100% Test Pass Rate

    Work Items:

    • Stabilize remaining tests

    Outcomes:

    • 100% Pass Agent HW tests
    • 100% Pass Agent SAI tests
    • 100% Pass Agent Benchmark tests
    • 100% Pass QSFP HW tests
    • 100% Pass Link Tests
    • 100% Pass Data Corral Service HW tests
    • 100% Pass Fan Service HW tests
    • 100% Pass Sensor Service HW tests
    • 100% Pass Weutil HW tests
    • 100% Pass Platform Manager HW tests
    • 100% Pass FW Util HW tests