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 overview

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.

  • Edgecore CSR320 (AS7316-26XB)

  • Edgecore CSR440 (AS7535-28XB)

  • Edgecore AGR400 (AS7946-30XB)

  • Edgecore AGR420 (AS7946-74XKSB)

  • UfiSpace S9510-28DC

  • UfiSpace S9500-22XST

  • UfiSpace S9600-32X

  • UfiSpace S9600-72XC

  • UfiSpace S9600-102XC

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 "1.9. Guidelines & 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 "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.

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 in enabled state, 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:

  • hard-reset: A reset will take place based on the configured settings.

  • no-action: No action will be taken.

  • power-cycle: The watchdog timer will power cycle the device.

  • shutdown: The device will shut down per the configured setting.

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
  • Information about external processors is displayed only for Q2C platforms and non-spine image roles. "N/A" displayed otherwise.

  • When using virtual platforms, the "show platform" CLI command does not provide any output.

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

<...>

Profile-based Allocation of Chipset Resources

Network operators can now choose a platform profile that suits their business needs, allocating chip resources accordingly.

Currently, the platform profile configuration is supported on the Consolidated BNG (C-BNG) image on the Q2C platform. By default, all the platform profile configurations are disabled.

Below is a table that provides information about the platform profiles and the resources allocated to each of them.

Profile Name Resources Allocated

1q

nat_1q

nat_4q

To set up the profile for a specific platform, use the command below.

Syntax:

set system platform profile <profile-name>

Attribute Description

<profile-name>

Specifies the profile that you want to activate.

Example: Profile-based Allocation

supervisor@rtbrick>LEAF01: cfg> set system platform profile
  1q                    Platform profile name
  nat_1q                Platform profile name
  nat_4q                Platform profile name
supervisor@rtbrick>LEAF01: cfg>

To view the profiles configured for a platform after reboot, use the command below:

supervisor@rtbrick>LEAF01: op>show platform-profile
Platform-profile: 1q
  Single Queue Profile: True
  Role: consolidated-bng
  MDB Profile: custom_rtb_cbng
    Counter Profile: cbng
supervisor@rtbrick>LEAF01: op>