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.

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

  • resmond-agent: This daemon runs inside a container, which is responsible for interacting with optics modules.

  • resmond: This daemon is responsible for managing optics in BDS.

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 milliseconds) at which optics should be polled. The interval can range from 1000 to 4294967295 milliseconds. The default interval is 5000.

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

3.1.2. high-power-class-enable

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

Syntax

set high-power-class-enable <false | true>

Command arguments

<true | false>

false - Disables high power class for optical module

true - Enables high power class for optical module

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

3.1.3. tx-disable

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

Syntax

set tx-disable <false | true>

Command arguments

<true | false>

false - Enables lasers for optical module

true - Disables lasers for optical module

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

4. Show Commands

4.1. show cpu summary

This command CPU summary information.

show cpu summary

4.2. show cpu usage

This command displays the CPU usage information.

show cpu usage

4.3. show memory summary

This command displays the memory summary information.

show memory summary

4.4. show memory usage

This command displays the memory usage information.

show memory usage

4.5. show process usage summary

This command displays the process usage summary information.

show process summary

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

This command displays the process usage for the specified process.

show process usage

4.7. show process usage process-id <pid>

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

show process usage processid

4.8. show sensor fan

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

show sensor fan

4.9. show sensor fan detail

This command displays the sensor fan details.

show sensor fan detail

4.10. show sensor power-supply

This command displays the sensor power supply information.

show sensor power supply

4.11. show sensor power-supply detail

This command displays detailed information about the sensor power supply.

show sensor power supply detail

4.12. show sensor system-led

This command displays system LED information.

show sensor system led

4.13. show sensor system-led detail

This command displays detailed information about the system LED.

show sensor system led detail

4.14. show sensor temperature

This command displays the sensor temperature information.

show sensor temperature

4.15. show sensor temperature

This command displays detailed information about the sensor temperature.

show sensor temperature detail

4.16. show optics inventory

This command displays optics inventory information.

show optics inventory

4.17. show optics interface <interface-name>

This command displays optics information for the specified interface.

show optics interface

©Copyright 2020 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.