Platform Overview
RBFS allows customers to select their preferred hardware platforms. This document provides information about RBFS-supported hardware platforms and the features available on each platform. It also includes information on firmware versions, the feature support matrix, and resource limits. This guide helps you understand the various supported platforms and their capabilities and help you evaluate and choose the right platform for your needs.
The RBFS Software runs as an LXC container on the Linux host operating system (ONL), deployed on bare-metal switches. The switch can function independently as standalone unit leveraging all functionalities into a single platform or can be combined into a leaf-spine architecture for scalable deployments. The software supports Zero-Touch Provisioning (ZTP) installation and provides REST-based APIs for configurations and operations.
The guide is organized into the following sections:
-
Platform Overview: A high-level summary of the platforms.
-
Platform Hardware Information: Detailed specifications of the hardware, including CPU, ASIC, Form Factors, memory, storage, and network interfaces.
-
Firmware Versions: Information on supported firmware versions and their compatibility with RBFS.
-
Feature Support Matrix: Information about RBFS features supported on various platforms and for various roles.
-
Resource Limits/Feature Support: Details on resource allocation, such as maximum routes and interfaces.
The following image shows a high-level overview of the platform architecture.

Platform hardware consists of forwarding ASICs and an Open Network Linux (ONL) operating system. A RBFS container that resides on top of this software includes all necessary packages to deliver access and routing protocols.
Supported Platforms
RtBrick’s software has been validated on the following hardware platforms.
Hardware Platform | Role |
---|---|
L2 Wholesale (L2BSA) |
|
Multiservice Edge |
|
Spine |
|
Access Leaf, Multiservice Edge |
|
Multiservice Edge |
|
L2 Wholesale (L2BSA) |
|
Spine |
|
Access Leaf, Multiservice Edge |
|
Access Leaf, Multiservice Edge |
For a list of features and sub-features supported by each platform, see Feature Support Matrix.
End-of-Life Policy
RtBrick periodically introduces software support for new hardware platforms and use cases. Likewise, support for older software is discontinued to ensure that RtBrick can provide appropriate attention to software critical to drive business functions. The End-of-Life Policy page details the platforms that are no longer supported or have limited support from RtBrick.
Guidelines and Limitations
QAX-based Platforms
-
An additional restriction applies to ports belonging to a port group on QAX-based platforms. For more information, see section Guidelines and Limitations of the Interfaces User Guide.
-
MPLS forwarding is not supported on double-tagged interfaces. It is supported only on untagged and single-tagged interfaces.
Brick Daemon (BD)
RBFS runs multiple Brick Daemons (BD). Every application that runs within RBFS is fundamentally a brick daemon. For example, forwarding daemon (fibd), configuration daemon (confd), BGP (bgp.iod or bgp.appd), or interface management daemon (ifmd).
Brick Daemon (BD) Restartability
If a brick daemon fails (for a limited number of times), RBFS will restart it automatically. If the automatic restart does not succeed, you can use the Ubuntu system control to start a daemon.
For more information about troubleshooting the Brick Daemons, see section "2.2. Brick Daemons" of the RBFS NOC Troubleshooting Guide.
Setting Up System Parameters
You can configure basic host system parameters such as 'element name' and 'pod name' using the set system host
command.
Syntax:
set system host <attribute> <value>
Attribute | Description |
---|---|
element-name <element-name> |
Specify the name of the element (container). A pod can contain a group of elements. |
pod name <pod-name> |
Specifies the name of the Pod. Pod stands for point (zone) of deployment. |
nameserver |
Specify the IP address of the DNS server. It is allowed to configure a maximum of three servers. |
role |
Specify the role of the element. Roles include Spine, Access Leaf, Border Leaf, and so on. |
The hostname is defined in the DHCP server. The maximum length of the hostname is restricted to 64 characters.
|
Example: System Parameters Configuration
supervisor@rtbrick>LEAF01: op> show config system host
{
"rtbrick-config:host": {
"element-name": "ufi10.q2c.u9.r4.nbg.rtbrick.net",
"pod-name": "nbg4"
}
}
CPU Watchdog Timer Utility for Hardware Platforms
The CPU watchdog timer utility is located in BMC and helps to detect any CPU failure. It also enables the CPU to recover from faults. By default, Watchdog Timer functionality is enabled, and it does not require any configuration from users. However, you can configure it to change the default settings.
Enable CPU Watchdog Timer in Hardware
Use the following command to enable watchdog timer on the hardware.
Syntax:
set system platform-management watchdog CPU <attribute> <value>
Attribute | Description |
---|---|
action |
Specifies the possible timeout actions:
Default value: power-cycle. |
interval |
Specifies the watchdog timer interval in seconds. Default value: 1800 seconds. |
Example: Enable CPU Watchdog Timer
supervisor@rtbrick>LEAF01: op> show config system platform-management watchdog
{
"rtbrick-config:watchdog": [
{
"type": "CPU",
"action": "hard-reset",
"interval": 3600
}
]
}
You can use the ipmitool
utility to view the status of the CPU watchdog timer.
Log into the ONL and enter the command as shown below to validate CPU watchdog timer functionality.
supervisor@onl>rtbrick:~ $ sudo ipmitool mc watchdog get
Watchdog Timer Use: OS Load (0x43)
Watchdog Timer Is: Started/Running
Watchdog Timer Actions: Power Cycle (0x03)
Pre-timeout interval: 0 seconds
Timer Expiration Flags: 0x00
Initial Countdown: 1800 sec
Present Countdown: 1795 sec
Displaying Platform Information
To display platform information, use the show platform
command, as shown in the example below.
supervisor@rtbrick>LEAF01: op> show platform
x86_64-ufispace_s9600_72xc-r0
Role : multiservice-edge
Platform : q2c(BCM88820_A1)
External Processor : OP2(X-0x1069a17f)
Vendor : Ufi Space
Manufacturer : Ufi Space
Manufacture date : 06/28/2021 10:51:29
MAC address : e8:c5:7a:8f:78:0d
Part number : S9600-72XC-RB6B
Serial number : WJ91B67T00009B3
Product name : S9600-72XC
Onie version : 2020.02v01
Label revision : N/A
Diag version : 0.1.4
Country code : CN
|
Displaying RBFS Version Information
To display RBFS version information, use the show version
command, as shown in the example below.
supervisor@rtbrick>LEAF01: op> show version
UUID : 9368481c-4531-42ea-b7dd-ed1f44693e24
Version : 25.1.0-g6daily.20250217161921+Bdevelopment.Ca42128c0
Role : multiservice-edge
Platform : q2c
Format : lxd
Build date : 2025-02-17 16:19:21 UTC
To display detailed version information for RBFS along with library versions, use the show version detail
command, as shown in the example below.
supervisor@rtbrick>LEAF01: op> show version detail
UUID : 9368481c-4531-42ea-b7dd-ed1f44693e24
Version : 25.1.0-g6daily.20250217161921+Bdevelopment.Ca42128c0
Role : multiservice-edge
Platform : q2c
Format : lxd
Build date : 2025-02-17 16:19:21 UTC
Component Version Timestamp Branch
alertmanager ....0-g6daily.20241218185800+Bdevelopment.Ce27337d1 2024-08-21 06:42:34 development
cligen 0.1.0-g6daily.20250123114818+Bdevelopment.C600e64ec 2025-01-23 08:47:43 development
clixon 4.3.1-g6daily.20250217153657+Bdevelopment.Ca2f6b7a0 2025-02-14 05:33:15 development
ems-service-event 0.2.0-g6daily.20241218185813+Bdevelopment.Cf91a7d20 2024-11-06 14:09:41 development
etcd ....0-g6daily.20241218192158+Bdevelopment.C234591e7 2024-11-12 09:38:31 development
fwd-plugin-bcm-q2c-s96... 4.2.0-g6daily.20250217155339+Bdevelopment.C44d58fa2 2025-02-17 14:47:42 development
hostconfd ....0-g6daily.20250217153014+Bdevelopment.C7238110b 2025-02-17 11:05:17 development
hostnetconfd 0.6.0-g6daily.20241219102010+Bdevelopment.Ce4b93935 2024-12-19 10:19:55 development
json-builder 0.1.0-g6daily.20241218190227+Bdevelopment.Cab48d5f3 2024-02-27 19:42:08 development
json-parser 1.1.0-g6daily.20241218185818+Bdevelopment.Cde3044f9 2024-02-27 19:42:09 development
libbgp 1.2.0-g6daily.20250217155306+Bdevelopment.Ce151c5f9 2025-02-14 04:43:33 development
libcjson 1.0.0-g6daily.20241218185809+Bdevelopment.Ca555247b 2024-02-27 19:42:00 development
libconfd 1.1.1-g6daily.20250217154029+Bdevelopment.C33c52583 2025-02-13 11:54:00 development
libdict 1.0.1-g6daily.20241218185819+Bdevelopment.C19540f37 2024-11-12 09:38:29 development
libegrep 1.1.0-g6daily.20241218185824+Bdevelopment.C1643b0eb 2024-11-06 14:32:37 development
libforwarding 4.2.0-g6daily.20250217154606+Bdevelopment.C44d58fa2 2025-02-17 14:47:42 development
libh2o 2.2.6-g6daily.20241218191420+Bdevelopment.Ca85b1f6b 2024-11-25 12:07:00 development
libigmp 1.1.0-g6daily.20250217154255+Bdevelopment.C0f2c2cf8 2024-11-12 09:38:29 development
libisis 1.2.0-g6daily.20250217155306+Bdevelopment.C70f6f560 2025-02-07 11:45:28 development
liblacp 0.2.0-g6daily.20250217160755+Bdevelopment.Cfabe7d2b 2025-02-11 09:57:09 development
libldp 0.3.0-g6daily.20250217154026+Bdevelopment.C2fe224c6 2025-02-07 11:45:31 development
liblldp 1.1.1-g6daily.20250217160755+Bdevelopment.C42c7cc74 2025-02-12 04:26:15 development
liblwip 1.2.0-g6daily.20250207114919+Bdevelopment.C43081b5d 2025-02-07 11:49:02 development
libnat 1.3.0-g6daily.20250217154255+Bdevelopment.C6e862a61 2025-02-14 11:23:02 development
libng-access 1.2.0-g6daily.20250217154257+Bdevelopment.C35d3c06b 2025-02-12 09:47:42 development
libospf 1.4.0-g6daily.20250217155311+Bdevelopment.C2a9abbfa 2025-02-11 09:00:56 development
libpim 1.2.0-g6daily.20250217155306+Bdevelopment.Cb3365ef7 2025-02-07 11:46:04 development
libpolicycog 1.3.0-g6daily.20250217153858+Bdevelopment.C510d7ed8 2025-02-07 11:46:01 development
libpoold 1.2.0-g6daily.20250217153655+Bdevelopment.Cd7615cc8 2025-02-07 11:45:58 development
libprotocolinfra 1.2.0-g6daily.20250217141154+Bdevelopment.C0c06016e 2025-02-17 14:11:20 development
librd 0.2.0-g6daily.20250210203745+Bdevelopment.C40f1d882 2024-11-06 15:40:27 development
libresmon 1.1.1-g6daily.20250217154029+Bdevelopment.C055060ea 2025-02-07 11:46:42 development
librtbshark 1.1.0-g6daily.20250217153701+Bdevelopment.Cf0bbd31f 2024-11-12 09:38:28 development
<...>
Configuring Platform Profiles
Network operators can determine ASIC scale profiles and features to meet their specific business requirements. Currently, the platform profile configuration is supported on the Multiservice Edge image on the Q2C and Q2A platforms. The profiles can be viewed using the "show platform-profile" command.
Guidelines & Limitations
-
The system only allows the configuration of the profiles and features it supports.
-
This system allows to configure any one of the supported profiles.
-
You can configure multiple features for one profile.
-
You can make changes to the features, such as removing or modifying them.
-
To activate the configuration changes, system reboot is required.
Platform Profile Support
Platform | Supported Profile | Supported Features | Default |
---|---|---|---|
Q2C Multiservice Edge |
nat_1q, nat_4q |
ipoe-n-1 |
nat_4q |
Q2A Multiservice Edge |
1q, 4q |
ipoe-n-1, access-multifield-classifier |
4q (ipoe-n-1) |
To configure profile for a specific platform, use the command below.
Syntax:
set system platform profile <profile_name[1-64]>
Attribute | Description |
---|---|
<profile-name> |
Specifies the profile that you want to activate. The new platform profile will be activated only after a system reboot |
feature <feature> |
Specifies the feature that enabled along with the profile. |
ipoe mode |
Choose the desired redundancy mode: |
Example: Enabling the feature ipoe-n-1 for the profile nat_1q
supervisor@switch: cfg> set system platform profile nat_1q feature ipoe-n-1
"rtbrick-config:system": { "platform": { "profile": [ { "profile_name": "nat_1q" } ] } } "rtbrick-config:system": { "platform": { "profile": [ { "profile_name": "nat_1q", "feature": [ "ipoe-n-1" ] } ] } }
Example: Enabling the redundancy mode for the profile nat_1q
supervisor@switch: cfg>set system platform profile nat_1q ipoe-mode standby-non-forwarding
platform": { "profile": [ { "profile_name": "nat_1q", "feature": [ "ipoe-n-1" ], "ipoe-mode": "standby-non-forwarding" } ] }
To view the profiles configured for a platform after reboot, use the show platform-profile command as shown in the example below
Example: Viewing Platform Profile on the Q2A Platform
supervisor@rtbrick>LEAF01: op>show platform-profile Platform-profile: 4q Role: multiservice-edge MDB Profile: custom_q2a_scale_4q Counter Profile: multiservice_edge Features: -|ipoe-n-1|-|-
supervisor@rtbrick>LEAF01: op>show platform-profile Platform-profile: nat_4q Address Translation Service: True Role: multiservice-edge MDB Profile: custom_q2a_scale_nat Counter Profile: multiservice_edge_nat_extend Features: -|ipoe-n-1|-|sflow
Example: Viewing Platform Profile on the Q2C Platform
supervisor@rtbrick>LEAF01: op> show platform-profile Platform-profile: nat_4q External Processor Variant: OP2_M Address Translation Service: True Role: multiservice-edge MDB Profile: custom_rtb_multiservice_edge_nat Counter Profile: multiservice_edge_nat_extend Forwarding Routes on External Processor: False Ingress Accounting is External: False Egress Accounting is External: True