Skip to content

Conversation

@dhanasekar-arista
Copy link
Contributor

What I did
Implemented PORT_SERDES_ATTR flex counter support in orchagent to enable monitoring of SERDES-level port attributes (RX_SIGNAL_DETECT, FEC_ALIGNMENT_LOCK, RX_SNR).

Why I did it
SERDES attributes provide critical per-lane diagnostics for optical transceivers. This feature enables:

  • Real-time monitoring of signal quality per lane
  • Early detection of physical layer issues
  • Better visibility into FEC lock status and SNR values

How I verified it

  • Unit tests verify enable/disable workflow via FlexCounterOrch
  • Unit tests validate counter map generation and cleanup
  • Capability query ensures platform support before enabling counters
  • Per-port validation using BUFFER_OVERFLOW pattern confirms attribute support

Details if related

  • flexcounterorch: Handles PORT_SERDES_ATTR enable/disable from CONFIG_DB
  • portsorch: Queries platform capabilities, validates per-port support, manages counter lifecycle
  • flex_counter_manager: Registers PORT_SERDES_ATTR with PORT_SERDES_ATTR_ID_LIST field mapping

Depends on corresponding sonic-sairedis changes for syncd collection.

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

…butes

Enable/disable port serdes attr flex counter group
Add port_serdes_attr_manager to set counter id list in FLEX_COUNTERS_DB

Signed-off-by: dhanasekar-arista <[email protected]>
@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@prsunny prsunny requested a review from prgeor November 24, 2025 22:45
@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Signed-off-by: dhanasekar-arista <[email protected]>
@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

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