Download PDF
Home

1. Introduction

An optic transceiver sends and receives data between devices using fiber optic medium. The optics modules available in a network may not be available to Brick Data Store (BDS). The BDS might not be able to access the optics information directly on the network, and hence it relies on i2c tools to interact with optics modules.

The RBFS optics support functionality provides a mechanism to represent optics modules in BDS, and it comes with the following features.

  • Supports the following optics modules:

    • SFP, SFP+, QSFP, QSFP+, QSFP28 (DAC are not supported)

  • Provides a mechanism to discover and monitor optics modules

  • Provides CLIs to write to optics modules

  • Provides show commands to visualize optics inventory and status of each module

  • Logs the status of the optics module

The RBFS implementation supports pluggable optics modules on whitebox switches only.

This document describes how you can integrate and monitor the optics modules into the resource monitoring daemon (resmond) on RBFS. This functionality leverages the Open Optics Monitoring (OOM) tool from OCP for reading from or writing to optics modules from different vendors.

This resmond daemon performs the following tasks:

  • Optics inventory accounting: Identifying the following details of a discovered optics module.

    • Port

    • Type

    • Vendor

    • Serial Number

    • Part Number

  • Read the following optics data from a module:

    • RX/TX alarming (loss of light and loss of signal)

    • RX/TX power status

    • Voltage and BIAS status

    • Temperature

  • Write the optics data to an optics module

  • Enabling high power class on QSFP28

  • Shutdown lasers (QSFP28, SFP+ and SFP)

1.1. Supported Hardware

  • Edgecore AS5916-XKS

1.2. Guidelines and Limitations

  • The current RBFS optics integration does not support the following functionalities:

    • Interrupt-based optics notification

    • Alarms

2. Components of RBFS Optics Integration

The RBFS optics integration is decoupled into two components: resmond-agent and resmond.

2.1. Resmond-agent

The resmond-agent is a daemon, which interacts with an optics module through an OCP-based OOM package. The resmond-agent exposes REST APIs so that the external applications can interact with optical modules.

image
Figure 1. RBFS Optical Integration

The resmond-agent performs the following functions:

  • Reads (Electrically Erasable Programmable Read-Only Memory) EEPROM data from the optics modules at specified intervals, and creates resmond optics BDS objects.

  • Writes values to specified fields of optics module. The supported fields are:

    • TX_DISABLE: This field can be True or False

    • HIGH_POWER_CLASS_ENABLE: This field can be True or False

  • Provides following URIs:

    • /resmond-agent/optics/get: It collects optics module information available from all available ports

    • /resmond-agent/optics/set: It sets value to the specified field of an optics module

2.2. Resmond

The resmond is a BD running inside the RtBrick container, which manages every optics module discovered by the resmond-agent. It polls hardware at specified interval to discover available optics modules.

2.2.1. Reading from optics

The resmond creates and maintains an inventory table and optics module table named global.loc_0.resource.optics.inventory and global.loc_0.resource.optics.module to keep information of each optics module. Objects corresponding to these tables are added by the resmond-agent.

The following optics modules are supported:

  • SFP

  • SFP+

  • QSFP

  • QSFP+

  • QSFP28

Writing to optics

The resmond receives configuration related to the write operation. It sends REST query to resmond-agent (/resmond-agent/optics/set URI) to perform write operation to optics. The resmond receives set operation status code from the resmond-agent.

The following operations are supported:

  • Enabling or disabling high-power class on the QSFP28 optics module

  • Enabling or disabling lasers on optics module

2.2.2. Resmond Logging

The resmond can log the following events:

  • Module temperature high alarm

  • Module temperature high warning

  • Module temperature low alarm

  • Module temperature low warning

  • Module voltage high alarm

  • Module voltage high warning

  • Module voltage low alarm

  • Module voltage low warning

  • Module lane power high alarm

  • Module lane power high warning

  • Module lane power low alarm

  • Module lane power low warning

  • Module lane bias high alarm

  • Module lane bias high warning

  • Module lane bias low alarm

  • Module lane bias low warning

3. Configuration Commands

3.1. Interface Level Commands

3.1.1. resmon monitoring poll-interval

This command sets the poll-interval for the resmond to discover optics.

Syntax

set poll-interval <poll_interval>

Command arguments

<poll_interval>

Specifies the interval (in seconds) at which optics should be polled. The interval can range from 3 to 10000 seconds. The default interval is 5 seconds.

Example
root@rtbrick: cfg> set poll-interval 1000

3.1.2. high-power-class enable or disable

This command enables or disables the high-power class of an optics module on a specific interface.

Syntax

set high-power-class < enable | disable >

Command arguments

enable

Enables high power class for optical module

disable

Disables high power class for optical module

Example
root@rtbrick: cfg> set resmon optics interface ifp-0/0/53 high-power-class disable

3.1.3. tx enable or disable

This command allows you to enable or disable lasers for an optical module.

Syntax

set tx < enable | disable >

Command arguments

enable

Enables lasers for optical module

disable

Disables lasers for optical module

Example
root@rtbrick: cfg> set resmon optics interface ifp-0/0/53 tx disable

4. Show Commands

4.1. show cpu summary

This command CPU summary information.

supervisor@rtbrick: op> show cpu summary
CPU_0
  Vendor               : GenuineIntel
  Model                : Intel(R) Xeon(R) CPU D-1518 @ 2.20GHz
  Architecture         : x86_64
  Serial No            : 63 06 05 00 FF FB EB BF
  Clock(MHz)           : 1996.620
  BogoMIPS             : 4400.00
  Physical cores       : 4
  Logical cores        : 8
  Endian               : True
  Cache alignment      : 64 Bytes
  L1 data cache        : 32768 Bytes
  L1 instruction cache : 32768 Bytes
  L2 unified cache     : 262144 Bytes
  L3 unified cache     : 6291456 Bytes
  L4 unified cache     : 0 Bytes
supervisor@rtbrick: op>

4.2. show cpu usage

This command displays the CPU usage information.

supervisor@rtbrick: op> show cpu usage
Name         Total       User     System       Nice   I/O Wait       Idle        IRQ   Soft IRQ
cpu            31%        23%         8%         0%         0%        68%         0%         0%
cpu0           11%         4%         5%         0%         0%        88%         0%         2%
cpu1          100%        63%        36%         0%         0%         0%         0%         0%
cpu2           54%        51%         2%         0%         0%        45%         0%         0%
cpu3           57%        55%         2%         0%         0%        42%         0%         0%
cpu4            6%         1%         5%         0%         0%        93%         0%         0%
cpu5            4%         2%         2%         0%         0%        95%         0%         0%
cpu6            8%         3%         4%         0%         0%        91%         0%         0%
cpu7            6%         1%         5%         0%         0%        94%         0%         0%
supervisor@rtbrick: op>

4.3. show memory summary

This command displays the memory summary information.

supervisor@rtbrick: op> show memory summary
System Memory
  Maximum capacity                 : 128 GB
  Error correction type            : Multi-bit ECC
  Number of memory slots available : 4
  Number of memory slots occupied  : 2
Bank              Size        Location          Type      Speed       Configured Speed   Vendor      Serial No      Part No
NODE 1            8192 MB     DIMM_A1           DDR4      2133 MT/s   2133 MT/s          Undefined   00000002       TS1GSH72V1H
NODE 1            8192 MB     DIMM_B1           DDR4      2133 MT/s   2133 MT/s          Undefined   00000027       TS1GSH72V1H
supervisor@rtbrick: op>

4.4. show memory usage

This command displays the memory usage information.

supervisor@rtbrick: op> show memory usage
Name     Total            Used             Free         Shared       Buffers      Cached
RAM      16.69 GB         4.54 GB          10.08 GB     578.17 MB    103.12 MB    2.06 GB
SWAP     0 bytes          0 bytes          0 bytes      n/a          n/a          n/a
supervisor@rtbrick: op>

4.5. show process usage summary

This command displays the process usage summary information.

supervisor@rtbrick: op> show process usage summary
Name             PID         VIRT              Resident Memory       Sharable Memory     CPU Percentage   Memory Percentage   CPU Affinity
bgp.appd.1       4456        384.67 MB         122.69 MB             29.32 MB            0.81             0.74                0-7
bgp.iod.1        4469        694.63 MB         148.39 MB             30.22 MB            2.01             0.89                0-7
confd            213         1.24 GB           769.9 MB              31.89 MB            0.81             4.61                0-7
etcd             110         600.9 MB          196.4 MB              29.26 MB            1.21             1.18                0-7
fibd             288         13.68 GB          1.74 GB               210.79 MB           161.17           10.45               1
ifmd             147         496.74 MB         154.25 MB             29.99 MB            1.01             0.92                0-7
igmp.appd.1      4482        356.38 MB         100.29 MB             29.27 MB            1.01             0.6                 0-7
igmp.iod.1       4495        540.14 MB         132.68 MB             29.41 MB            2.01             0.8                 0-7
ipoed.1          175         503.51 MB         112.9 MB              29.3 MB             2.01             0.68                0-7
l2tpd.1          4508        475.71 MB         103.45 MB             29.26 MB            2.01             0.62                0-7
lldpd            128         368.32 MB         106.75 MB             29.29 MB            2.21             0.64                0-7
mribd            158         381.8 MB          115.57 MB             29.38 MB            1.01             0.69                0-7

4.6. show process usage process-name <process-name>

This command displays the process usage for the specified process.

supervisor@rtbrick: op> show process usage process-name fibd
Process Name: fibd
  PID                          : 288
  REST port                    : 5522
  Debug port                   : 5521
  Allowed CPU list             : 1
  CPU usage at user space      : 25964
  CPU usage at kernel space    : 12633
  CPU usage percentage         : 152.815678
  Memory usage percentage      : 10.452729
  Peak virtual memory usage    : 13355692
  Current virtual memory usage : 13.68 GB
  Locked virtual memory        : n/a
  RSS virtual memory           : 1.74 GB
  Size of data segment         : 1.73 GB
  Size of stack                : 135.17 KB
  Size of text segment         : 8.19 KB
  Shared library memory usage  : 210.79 MB
  Swap space used              : n/a
  Peak RSS                     : 1.9 GB
  Page table entry             : 5.96 MB
  Process state                : ACTIVE
Module Status:
  bd     : Active
  bds    : Active

supervisor@rtbrick: op>

4.7. show process usage process-id <pid>

This command displays the process usage for the specified process ID.

supervisor@rtbrick: op> show process usage process-id 4456
Process Name: bgp.appd.1
  PID                          : 4456
  REST port                    : 4102
  Debug port                   : 4101
  Allowed CPU list             : 0-7
  CPU usage at user space      : 20103
  CPU usage at kernel space    : 18011
  CPU usage percentage         : 1.011122
  Memory usage percentage      : 0.735218
  Peak virtual memory usage    : 375652
  Current virtual memory usage : 384.67 MB
  Locked virtual memory        : n/a
  RSS virtual memory           : 122.69 MB
  Size of data segment         : 106.32 MB
  Size of stack                : 135.17 KB
  Size of text segment         : 8.19 KB
  Shared library memory usage  : 29.32 MB
  Swap space used              : n/a
  Peak RSS                     : 122.69 MB
  Page table entry             : 692.22 KB
  Process state                : ACTIVE
Module Status:
  bd     : Active
  bds    : Active

supervisor@rtbrick: op>

4.8. show sensor fan

This command displays the sensor fan information such as fan speed and status.

supervisor@rtbrick: op> show sensor fan
Name              Fan Speed (rpm)     Status
PSU 1 - Fan 1     26496               PRESENT, F2B
Chassis Fan - 1   8700                PRESENT, F2B
Chassis Fan - 2   8700                PRESENT, F2B
Chassis Fan - 3   8700                PRESENT, F2B
Chassis Fan - 4   8700                PRESENT, F2B
Chassis Fan - 5   8700                PRESENT, F2B
Chassis Fan - 6   8600                PRESENT, F2B
supervisor@rtbrick: op>

4.9. show sensor fan detail

This command displays the sensor fan details.

supervisor@rtbrick: op> show sensor fan detail

PSU 1 - Fan 1
  Sensor resource ID   : 8388614
  Vendor               : n/a
  Model                : NULL
  Serial No            : n/a
  Status               : PRESENT, F2B
  Status code          : 9
  Fan speed            : 26496 rpm
  Location             : PSU 1
Chassis Fan - 1
  Sensor resource ID   : 8388608
  Vendor               : ALTERA
  Model                : 5M1270ZF256C5N
  Serial No            : n/a
  Status               : PRESENT, F2B
  Status code          : 9
  Fan speed            : 8700 rpm
  Location             : Fan Board
Chassis Fan - 2
  Sensor resource ID   : 8388609
  Vendor               : ALTERA
  Model                : 5M1270ZF256C5N
  Serial No            : n/a
  Status               : PRESENT, F2B
  Status code          : 9
  Fan speed            : 8800 rpm
  Location             : Fan Board

4.10. show sensor power-supply

This command displays the sensor power supply information.

supervisor@rtbrick: op> show sensor power-supply
Name              Current In  Current Out Voltage In  Voltage Out Power In    Power Out   Status
PSU-1             0 mA        12109 mA    0 mV        11984 mV    0 mW        146000 mW   PRESENT
PSU-2             0 mA        0 mA        0 mV        0 mV        0 mW        0 mW        PRESENT, UNPLUGGED
supervisor@rtbrick: op>

4.11. show sensor power-supply detail

This command displays detailed information about the sensor power supply.

supervisor@rtbrick: op> show sensor power-supply detail

PSU-1
  Sensor resource ID   : 16777216
  Vendor               : n/a
  Model                : YM-2651Y
  Serial No            : n/a
  Status               : PRESENT
  Status code          : 1
  Input current        : 0 mA
  Output current       : 12031 mA
  Input voltage        : 0 mV
  Output voltage       : 11984 mV
  Input power          : 0 mW
  Output power         : 144000 mW
  Location             : n/a
PSU-2
  Sensor resource ID   : 16777217
  Vendor               : n/a
  Model                : NULL
  Serial No            : n/a
  Status               : PRESENT, UNPLUGGED
  Status code          : 5
  Input current        : 0 mA
  Output current       : 0 mA
  Input voltage        : 0 mV
  Output voltage       : 0 mV
  Input power          : 0 mW
  Output power         : 0 mW
  Location             : n/a
supervisor@rtbrick: op>

4.12. show sensor system-led

This command displays system LED information.

supervisor@rtbrick: op> show sensor system-led
Name                     LED Mode         Status
Chassis LED 1 (LOC LED)  OFF              PRESENT
Chassis LED 5 (FAN LED)  AUTO             PRESENT, ON
Chassis LED 2 (DIAG LED) OFF              PRESENT
Chassis LED 3 (PSU1 LED) AUTO             PRESENT, ON
Chassis LED 4 (PSU2 LED) AUTO             PRESENT, ON
supervisor@rtbrick: op>

4.13. show sensor system-led detail

This command displays detailed information about the system LED.

supervisor@rtbrick: op> show sensor system-led detail

Chassis LED 1 (LOC LED)
  Sensor resource ID   : 12582912
  LED mode             : OFF
  Status               : PRESENT
  Status code          : 1
  Capability           : ON_OFF, ORANGE
  Capability code      : 4097
Chassis LED 5 (FAN LED)
  Sensor resource ID   : 12582916
  LED mode             : AUTO
  Status               : PRESENT, ON
  Status code          : 5
  Capability           : ON_OFF, AUTO
  Capability code      : 4194305
Chassis LED 2 (DIAG LED)
  Sensor resource ID   : 12582913
  LED mode             : OFF
  Status               : PRESENT
  Status code          : 1
  Capability           : ON_OFF, ORANGE, GREEN
  Capability code      : 69633

4.14. show sensor temperature

This command displays the sensor temperature information.

supervisor@rtbrick: op> show sensor temperature
Name                     Temperature         Status
CPU Core                 54 °C               PRESENT
LM75-1-48                35 °C               PRESENT
LM75-2-49                30 °C               PRESENT
LM75-3-4A                33 °C               PRESENT
LM75-3-4B                30 °C               PRESENT
PSU-1 Thermal Sensor 1   31 °C               PRESENT
supervisor@rtbrick: op>

4.15. show sensor temperature

This command displays detailed information about the sensor temperature.

supervisor@rtbrick: op> show sensor temperature
Name                     Temperature         Status
CPU Core                 54 °C               PRESENT
LM75-1-48                36 °C               PRESENT
LM75-2-49                30 °C               PRESENT
LM75-3-4A                33 °C               PRESENT
LM75-3-4B                30 °C               PRESENT
PSU-1 Thermal Sensor 1   31 °C               PRESENT
supervisor@rtbrick: op>

4.16. show optics inventory

This command displays optics inventory information.

supervisor@rtbrick: op> show optics inventory
Interface      Type      Connector Type           Vendor          Part Number         Serial Number   Power Class      Power State
ifp-0/0/1      SFP       Copper Pigtail           FiberStore      SFP-10G-DAC         F1712078552-1   Class 1 (1.5W)   LOW
ifp-0/0/2      SFP       Copper Pigtail           FiberStore      SFP-10G-DAC         F1712078553-2   Class 1 (1.5W)   LOW
ifp-0/0/20     SFP       Unknown or unspecified   FS              SFP-GB-GE-T         G1809118355     Class 1 (1.5W)   LOW
ifp-0/0/3      SFP       Copper Pigtail           FiberStore      SFP-10G-DAC         F1712078543-1   Class 1 (1.5W)   LOW
ifp-0/0/4      SFP       Copper Pigtail           FiberStore      SFP-10G-DAC         F1712078555-1   Class 1 (1.5W)   LOW
ifp-0/0/40     SFP       Copper Pigtail           FS              SFPP-PC01           C2006280708-1   Class 1 (1.5W)   LOW
ifp-0/0/50     QSFP28    No Seperable connector   Fiberstore      Q28-PC01            F1800034267-2   Class 1 (1.5W)   LOW
ifp-0/0/51     QSFP28    No Seperable connector   Fiberstore      Q28-PC01            F1800034272-1   Class 1 (1.5W)   LOW
ifp-0/0/52     QSFP28    No Seperable connector   Fiberstore      Q28-PC01            F1800034271-2   Class 1 (1.5W)   LOW
ifp-0/0/53     QSFP28    No Seperable connector   Fiberstore      Q28-PC01            F1800034275-1   Class 1 (1.5W)   LOW
ifp-0/0/54     QSFP28    Lucent Connector         LambdaGain      LL1C31A2A           L1297I0009      Class 4 (3.5W)   HIGH
supervisor@rtbrick: op>

4.17. show optics interface <interface-name>

This command displays optics information for the specified interface.

supervisor@rtbrick: op> show optics interface ifp-0/0/1
Physical Interface: ifp-0/0/1
  Lane Id                                        : 0
  Laser bias current                             : 0.0 mA
  Laser tx power                                 : 0.0 mW / -30 dbm
  Laser rx power                                 : 0.0 mW / -30 dbm
  Module temperature                             : 0.0 °C
  Module voltage                                 : 0.0 V
  Tx disable                                     : False
  High power class enable                        : n/a
  Laser Tx loss of signal                        : n/a
  Laser Tx loss of lock                          : n/a
  Laser Rx loss of signal                        : False
  Laser Rx loss of lock                          : False
  Laser bias current high alarm                  : False
  Laser bias current high warning                : False
  Laser bias current low alarm                   : False
  Laser bias current low warning                 : False
  Module voltage high alarm                      : False
  Module voltage high warning                    : False
  Module voltage low alarm                       : False
  Module voltage low warning                     : False
  Module temperature high alarm                  : False
  Module temperature high warning                : False
  Module temperature low alarm                   : False
  Module temperature low warning                 : False
  Laser tx power high alarm                      : False
  Laser tx power high warning                    : False
  Laser tx power low alarm                       : False
  Laser tx power low warning                     : False
  Laser rx power high alarm                      : False
  Laser rx power high warning                    : False
  Laser rx power low alarm                       : False
  Laser rx power low warning                     : False
  Laser bias current high alarm threshold        : 0.0 mA
  Laser bias current high warning threshold      : 0.0 mA
  Laser bias current low alarm threshold         : 0.0 mA
  Laser bias current low warning threshold       : 0.0 mA
  Module voltage high alarm threshold            : 0.0 V
  Module voltage high warning threshold          : 0.0 V
  Module voltage low alarm threshold             : 0.0 V
  Module voltage low warning threshold           : 0.0 V
  Module temperature high alarm threshold        : 0.0 °C
  Module temperature high warning threshold      : 0.0 °C
  Module temperature low alarm threshold         : 0.0 °C
  Module temperature low warning threshold       : 0.0 °C
  Laser tx power high alarm threshold            : 0.0 mW /-30 dbm
  Laser tx power high warning threshold          : 0.0 mW /-30 dbm
  Laser tx power low alarm threshold             : 0.0 mW /-30 dbm
  Laser tx power low warning threshold           : 0.0 mW /-30 dbm
  Laser rx power high alarm threshold            : 0.0 mW /-30 dbm
  Laser rx power high warning threshold          : 0.0 mW /-30 dbm
  Laser rx power low alarm threshold             : 0.0 mW /-30 dbm
  Laser rx power low warning threshold           : 0.0 mW /-30 dbm

4.18. show disk usage

This command displays disk usage information.

supervisor@rtbrick: op> show disk usage
Filesystem               Type             Size         Used         Available    Mountpoint          Usage %
none                     tmpfs            492 KB       0 bytes      492 KB       /dev                0.0
tmpfs                    tmpfs            8.15 GB      17.38 MB     8.13 GB      /run                0.21
tmpfs                    tmpfs            6.29 GB      483.6 MB     5.81 GB      /shm                7.69
tmpfs                    tmpfs            8.15 GB      62.74 MB     8.09 GB      /dev/shm            0.77
tmpfs                    tmpfs            5.12 MB      0 bytes      5.12 MB      /run/lock           0.0
devtmpfs                 devtmpfs         1.02 MB      0 bytes      1.02 MB      /dev/mem            0.0
/dev/sda7                ext4             25.87 GB     4.47 GB      20.06 GB     /var/log            18.21
tmpfs                    tmpfs            1.63 GB      0 bytes      1.63 GB      /run/user/1000      0.0
tmpfs                    tmpfs            8.15 GB      0 bytes      8.15 GB      /sys/fs/cgroup      0.0
tmpfs                    tmpfs            1.63 GB      696 KB       1.63 GB      /var/run-ext/onl/r  0.04
/var/cache/rtbrick/imag  overlay          25.87 GB     4.47 GB      20.06 GB     /                   18.21
supervisor@rtbrick: op>

4.19. show disk summary

This command displays the summary of the disks and their partitions.

supervisor@rtbrick: op> show disk summary
sda
  Size    : 29.8G
  Vendor  : ATA
  Model   : TS32ZBTMM1600
  Partitions
  Name               Size        Mountpoint
  sda1               256M        n/a
  sda2               128M        n/a
  sda3               2G          n/a
  sda4               128M        n/a
  sda5               128M        n/a
  sda6               2G          n/a
  sda7               25.2G       /platform
supervisor@rtbrick: op>

©Copyright 2021 RtBrick, Inc. All rights reserved. The information contained herein is subject to change without notice. The trademarks, logos and service marks ("Marks") displayed in this documentation are the property of RtBrick in the United States and other countries. Use of the Marks are subject to RtBrick’s Term of Use Policy, available at https://www.rtbrick.com/privacy. Use of marks belonging to other parties is for informational purposes only.