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.
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
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
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
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.