Platform Overview
The RtBrick FullStack (RBFS) software runs as a LXC container on a Linux host operating system in the bare-metal switches, which are capable of Layer 2 and Layer 3 switching. Multiple switches can be combined to support several subscribers using a leaf and spine architecture or deployed as a standalone unit using the consolidated BNG approach. Additionally, the ZTP (Zero-Touch-Provisioning) and REST-based APIs that expose the state of the system are also supported.
The image below 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.
This guide looks at the platform features, the different supported hardware platforms, and features that are supported on each hardware platform.
Supported Platforms
RtBrick’s software has been validated on the following hardware platforms.
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.
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 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 : consolidated-bng
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 : a54edaa0-29ab-4ffe-ac6a-82775016c677
Version : 23.8.1-candidate.0
Role : consolidated-bng
Platform : q2c
Format : lxd
Build date : 2023-08-22 10:48:50 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 : a54edaa0-29ab-4ffe-ac6a-82775016c677
Version : 23.8.1-candidate.0
Role : consolidated-bng
Platform : q2c
Format : lxd
Build date : 2023-08-22 10:48:50 UTC
Component Version Timestamp Branch
alertmanager 0.24.0-xdaily.20230818085706+Cfa52d276 2023-07-04 08:22:19 master
cligen 0.1.0-xdaily.20230818085715+Ccd1eae0c 2023-06-13 10:08:18 master
clixon 4.3.1-xdaily.20230821154020+Ca22bfa87 2023-08-18 05:04:44 master
ems-service-event 0.1.0-xdaily.20230818090808+C3ace4161 2023-06-02 12:32:04 master
etcd 0.9.1-xdaily.20230821154544+Cd4e0a651 2023-06-12 10:46:20 master
fwd-plugin-bcm-q2c-combined-cbng 2.0.3-xdaily.20230822104744+C5ef9e1b7 2023-08-21 16:33:00 master
fwd-plugin-bcm-q2c-s9600-72xc-cbng 2.0.3-xdaily.20230821165134+C5ef9e1b7 2023-08-21 16:33:00 master
hostconfd 0.6.0-xdaily.20230818085705+C05f4a7df 2023-07-31 16:22:34 master
hostnetconfd 0.3.0-xdaily.20230818085718+Ce2adec98 2023-08-09 07:13:46 master
json-builder 0.1.0-xdaily.20230818091101+C7e7495bd 2023-05-03 11:33:18 master
json-parser 1.1.0-xdaily.20230818085719+Cf2b50ee5 2023-05-03 11:33:56 master
libbgp 1.0.2-xdaily.20230821155936+Cad5b378a 2023-08-14 13:47:44 master
libcjson 1.0.0-xdaily.20230818085714+Cd6550b9a 2023-03-27 09:37:06 master
libconfd 1.0.3-xdaily.20230821154549+C51dc7de6 2023-08-18 04:53:01 master
<...>
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 Consolidated BNG (C-BNG) 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 C-BNG |
nat_1q, nat_4q |
ipoe-n-1 |
nat_4q |
Q2A C-BNG |
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. |
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" ] } ] } }
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: consolidated-bng MDB Profile: custom_q2a_scale Counter Profile: cbng Features: -|ipoe-n-1|access-multifield-classifier
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: consolidated-bng MDB Profile: custom_rtb_cbng_nat Counter Profile: cbng_nat_extend Forwarding Routes on External Processor: False Ingress Accounting is External: False Egress Accounting is External: True