Skip to content

Conversation

vdahiya12
Copy link
Contributor

@vdahiya12 vdahiya12 commented Mar 17, 2025

Summary of Changes

What I did

  • Added a new debug.py module to handle SFP diagnostics and debugging.
  • Replaced existing utility methods with functions from utilities_common.platform_sfputil_helper.
  • Registered debug as a subcommand in sfputil/main.py.

How I did it

  • Created a new debug.py file under sfputil/.
  • Implemented the debug command group with the following subcommands:
    • loopback: Configures SFP loopback modes.
    • tx-output: Enables or disables TX output.
    • rx-output: Enables or disables RX output.
  • Used helper functions from utilities_common.platform_sfputil_helper for better modularity and maintainability.
  • Updated sfputil/main.py to integrate the new debug command.

How to verify it

UT and deploy changed on a testbed

  1. Run the following command to check if debug is now available:
    sfputil debug --help
  2. sfputil debug tx-output Ethernet0 enable
  3. sfputil debug rx-output Ethernet0 disable
Usage: sfputil debug [OPTIONS] COMMAND [ARGS]...
Try "sfputil debug --help" for help.

Error: no such option: -h
admin@sonic:~$ sudo sfputil debug --help
Usage: sfputil debug [OPTIONS] COMMAND [ARGS]...

  Group for debugging and diagnostic control commands.

  This command group loads platform-specific utilities and prepares them for
  use in diagnostic commands.

Options:
  --help  Show this message and exit.

Commands:
  loopback   Set module diagnostic loopback mode.
  rx-output  Enable or disable RX output on a port.
  tx-output  Enable or disable TX output on a port.
admin@sonic:~$ sudo sfputil debug rx-output --help
Usage: sfputil debug rx-output [OPTIONS] PORT_NAME [enable|disable]

  Enable or disable RX output on a port.

Options:
  --help  Show this message and exit.
admin@sonic:~$ 

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

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

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

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

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

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

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@prgeor
Copy link
Contributor

prgeor commented Mar 17, 2025

@vdahiya12 can you paste the complte output of --help for debug in the pr "How to verify it"

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

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

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

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@prgeor prgeor requested a review from mihirpat1 March 18, 2025 22:16
@mihirpat1 mihirpat1 requested a review from Copilot March 18, 2025 22:19
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds a new "debug" command group to sfputil to support diagnostic operations on SFP modules, including loopback, tx-output, and rx-output commands. Key changes include:

  • Creation of a new sfputil/debug.py module implementing debug and its subcommands.
  • Updates to tests in tests/sfputil_test.py to cover tx-output and rx-output functionality.
  • Minor refactoring in utilities_common/platform_sfputil_helper.py and integration in sfputil/main.py to support the changes.

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
sfputil/debug.py New module providing debug commands for loopback and enabling/disabling outputs.
tests/sfputil_test.py Added tests for tx-output and rx-output commands; potential mismatch in error output.
utilities_common/platform_sfputil_helper.py Refactored chassis and port mapping functions to support new debug functionality.
sfputil/main.py Integrated the debug command into the CLI and removed the old debug subgroup.

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

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

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

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

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

/azp run

prgeor
prgeor previously approved these changes Mar 25, 2025
mihirpat1
mihirpat1 previously approved these changes Mar 25, 2025
@vdahiya12
Copy link
Contributor Author

/azpw run

@mssonicbld
Copy link
Collaborator

/AzurePipelines run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Signed-off-by: Vaibhav Dahiya <[email protected]>
@vdahiya12 vdahiya12 dismissed stale reviews from mihirpat1 and prgeor via 328b0c6 March 25, 2025 21:16
@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@prgeor prgeor merged commit 7cbb2f2 into sonic-net:master Mar 25, 2025
7 checks passed
@Junchao-Mellanox
Copy link
Collaborator

Hi @prgeor , will this be cherry-picked to 202412?

Junchao-Mellanox pushed a commit to Junchao-Mellanox/sonic-utilities that referenced this pull request Mar 31, 2025
…able/disable (sonic-net#3811)

* [sfputil] add support for sfputil debug tx-output/rx-output
enable/disable

Signed-off-by: Vaibhav Dahiya <[email protected]>

* refactor

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add p

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add tests

Signed-off-by: Vaibhav Dahiya <[email protected]>

* retab

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix tests

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add jhg

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add tests

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add tests

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix comments

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add ss

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add suggestions

Signed-off-by: Vaibhav Dahiya <[email protected]>

* pep8

Signed-off-by: Vaibhav Dahiya <[email protected]>

* pep8

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add more changes

Signed-off-by: Vaibhav Dahiya <[email protected]>

* pep8

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add pop

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add pep8

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add f

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add more tests

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add more tests

Signed-off-by: Vaibhav Dahiya <[email protected]>

* remove pep8

Signed-off-by: Vaibhav Dahiya <[email protected]>

* formatting

Signed-off-by: Vaibhav Dahiya <[email protected]>

* static analysis

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add more formatting

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fixed

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix tests

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add hkh

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add more changes

Signed-off-by: Vaibhav Dahiya <[email protected]>

* restore code

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add more changes

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add all fixes

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add ll

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix ll

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add kk

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add uniform changes

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add all

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix doc

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix per comments

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix warn

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix more changes

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add more changes

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add cosmetic

Signed-off-by: Vaibhav Dahiya <[email protected]>

---------

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

Cherry-pick PR to msft-202412: Azure/sonic-utilities.msft#162

nmoray pushed a commit to nmoray/sonic-utilities that referenced this pull request Jun 25, 2025
…able/disable (sonic-net#3811)

* [sfputil] add support for sfputil debug tx-output/rx-output
enable/disable

Signed-off-by: Vaibhav Dahiya <[email protected]>

* refactor

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add p

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add tests

Signed-off-by: Vaibhav Dahiya <[email protected]>

* retab

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix tests

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add jhg

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add tests

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add tests

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix comments

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add ss

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add suggestions

Signed-off-by: Vaibhav Dahiya <[email protected]>

* pep8

Signed-off-by: Vaibhav Dahiya <[email protected]>

* pep8

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add more changes

Signed-off-by: Vaibhav Dahiya <[email protected]>

* pep8

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add pop

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add pep8

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add f

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add more tests

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add more tests

Signed-off-by: Vaibhav Dahiya <[email protected]>

* remove pep8

Signed-off-by: Vaibhav Dahiya <[email protected]>

* formatting

Signed-off-by: Vaibhav Dahiya <[email protected]>

* static analysis

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add more formatting

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fixed

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix tests

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add hkh

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add more changes

Signed-off-by: Vaibhav Dahiya <[email protected]>

* restore code

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add more changes

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add all fixes

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add ll

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix ll

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add kk

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add uniform changes

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add all

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix doc

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix per comments

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix warn

Signed-off-by: Vaibhav Dahiya <[email protected]>

* fix more changes

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add more changes

Signed-off-by: Vaibhav Dahiya <[email protected]>

* add cosmetic

Signed-off-by: Vaibhav Dahiya <[email protected]>

---------

Signed-off-by: Vaibhav Dahiya <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants