Skip to content

Add Support for Arista CMIS Enhanced LPO Debug Registers#688

Open
mzwang-arista wants to merge 1 commit into
sonic-net:masterfrom
mzwang-arista:master
Open

Add Support for Arista CMIS Enhanced LPO Debug Registers#688
mzwang-arista wants to merge 1 commit into
sonic-net:masterfrom
mzwang-arista:master

Conversation

@mzwang-arista
Copy link
Copy Markdown

Add Support for Arista CMIS Enhanced LPO Debug Registers

Description

This PR adds a eeprom map and implements a child of CmisAPI - CmisEnhancedLpoApi.

The following fields are read from the transceiver and populated into Redis:

  1. TRANSCEIVER_INFO|EthernetX

    • LPOTxPolarityInverted
    • LPORxPolarityInverted
    • LPOTxHostInputVMAMonAccuracySupported
    • LPORxInputOMAMonAccuracySupported
    • LPOTxOuterExtinctionRatioMax
  2. TRANSCEIVER_DOM_SENSOR|EthernetX

    • LPOHostInputVMATx[1-8]
    • LPOInputOMARx[1-8]
  3. TRANSCEIVER_DOM_THRESHOLD|EthernetX

    • LPOTxHostInputVMAHighAlarmThreshold
    • LPOTxHostInputVMALowAlarmThreshold
    • LPOTxHostInputVMAHighWarningThreshold
    • LPOTxHostInputVMALowWarningThreshold
    • LPORxInputOMAHighAlarmThreshold
    • LPORxInputOMALowAlarmThreshold
    • LPORxInputOMAHighWarningThreshold
    • LPORxInputOMALowWarningThreshold
  4. TRANSCEIVER_DOM_FLAG|EthernetX
    TRANSCEIVER_DOM_FLAG_SET_TIME|EthernetX
    TRANSCEIVER_DOM_FLAG_CLEAR_TIME|EthernetX
    TRANSCEIVER_DOM_FLAG_CHANGE_COUNT|EthernetX

    • LPOTxHostInputVMAHighAlarmFlag
    • LPOTxHostInputVMALowAlarmFlag
    • LPOTxHostInputVMAHighWarningFlag
    • LPOTxHostInputVMALowWarningFlag
    • LPORxInputOMAHighAlarmFlag
    • LPORxInputOMALowAlarmFlag
    • LPORxInputOMAHighWarningFlag
    • LPORxInputOMALowWarningFlag

Please see HLD for more details (https://github.com/sonic-net/SONiC/blob/master/doc/cmis-lpo-enhancement/cmis-lpo-enhancement.md)

Motivation and Context

The additional enhanced LPO registers provided additional debug information for LPO modules

How Has This Been Tested?

  1. A unit test is added. At a high level, the following are tested
  • get_transceiver_info
  • get_transceiver_dom_real_value
  • get_transceiver_threshold_info
  • get_transceiver_dom_flags
  • Memory map field offsets and sizes
  • XcvrApiFactory dispatch to CmisEnhancedLpoApi
  1. Tested in the lab with Arista LPO-800G-2DR4. Verified all fields are populated correctly

Signed-off-by: Michael Wang <mzwang@arista.com>
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mzwang-arista mzwang-arista marked this pull request as ready for review June 8, 2026 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants