Skip to content

[action] [PR:653] Check low power mode before vdm handling#48

Merged
mssonicbld merged 1 commit intoAzure:202412from
mssonicbld:cherry/msft-202412/653
Sep 9, 2025
Merged

[action] [PR:653] Check low power mode before vdm handling#48
mssonicbld merged 1 commit intoAzure:202412from
mssonicbld:cherry/msft-202412/653

Conversation

@mssonicbld
Copy link
Collaborator

Description

Skip VDM handling when the interface low power mode is on.

Motivation and Context

When the interface low power mode is on, we see following errors in the syslog:
ERR pmon#xcvrd[76]: Failed to confirm VDM unfreeze status for port 63
ERR pmon#xcvrd[76]: Failed to unfreeze VDM stats in contextmanager for port 63
ERR pmon#xcvrd[76]: Failed to confirm VDM freeze status for port 63
ERR pmon#xcvrd[76]: Failed to freeze VDM stats in contextmanager for port 63
ERR pmon#xcvrd[76]: DOM-INFO-UPDATE: Failed to freeze VDM stats for port 63
ERR pmon#xcvrd[76]: Failed to confirm VDM unfreeze status for port 63
ERR pmon#xcvrd[76]: Failed to unfreeze VDM stats in contextmanager for port 63

To avoid the errors, we are skipping VDM handling when low power mode is on. To achieve this, a helper method is added to check for VDM status which is called before the VDM handling code block.

How Has This Been Tested?

  1. Turn on interface lpmode.
  2. Verify that syslog has the above-mentioned errors for the interface.
  3. Make the code changes in the pmon container.
  4. Restart the xcvrd.
  5. Once the interfaces are initialized, turn off and turn on the lpmode of the interface.
  6. Check the syslog. Above-mentioned errors should not appear for the interface.
  7. Check TRANSCEIVER_VDM_REAL_VALUE table of the interface. It should not update while the lpmode is on.
  8. For 400ZR optics, TRANSCEIVER_PM table should not update while the lpmode is on.
  9. Turn off lpmode of the interface.
  10. See that TRANSCEIVER_VDM_REAL_VALUE and TRANSCEIVER_PM gets updated.

This PR has been tested on 100G OSFP 8X Pluggable Transceiver and 400ZR QSFP-DD Double Density 8X Pluggable Transceiver.

Additional Information (Optional)

ADO: 32013738

<!-- Provide a general summary of your changes in the Title above -->

#### Description
<!--
     Describe your changes in detail
-->
Skip VDM handling when the interface low power mode is on.
#### Motivation and Context
<!--
     Why is this change required? What problem does it solve?
     If this pull request closes/resolves an open Issue, make sure you
     include the text "fixes #xxxx", "closes #xxxx" or "resolves #xxxx" here
-->
When the interface low power mode is on, we see following errors in the syslog:
ERR pmon#xcvrd[76]: Failed to confirm VDM unfreeze status for port 63
ERR pmon#xcvrd[76]: Failed to unfreeze VDM stats in contextmanager for port 63
ERR pmon#xcvrd[76]: Failed to confirm VDM freeze status for port 63
ERR pmon#xcvrd[76]: Failed to freeze VDM stats in contextmanager for port 63
ERR pmon#xcvrd[76]: DOM-INFO-UPDATE: Failed to freeze VDM stats for port 63
ERR pmon#xcvrd[76]: Failed to confirm VDM unfreeze status for port 63
ERR pmon#xcvrd[76]: Failed to unfreeze VDM stats in contextmanager for port 63

To avoid the errors, we are skipping VDM handling when low power mode is on. To achieve this, a helper method is added to check for VDM status which is called before the VDM handling code block.

#### How Has This Been Tested?
1. Turn on interface lpmode.
2. Verify that syslog has the above-mentioned errors for the interface.
3. Make the code changes in the pmon container.
4. Restart the xcvrd.
5. Once the interfaces are initialized, turn off and turn on the lpmode of the interface.
6. Check the syslog. Above-mentioned errors should not appear for the interface.
7. Check TRANSCEIVER_VDM_REAL_VALUE table of the interface. It should not update while the lpmode is on.
8. For 400ZR optics, TRANSCEIVER_PM table should not update while the lpmode is on.
9. Turn off lpmode of the interface.
10. See that TRANSCEIVER_VDM_REAL_VALUE and TRANSCEIVER_PM gets updated.

This PR has been tested on 100G OSFP 8X Pluggable Transceiver and 400ZR QSFP-DD Double Density 8X Pluggable Transceiver.

<!--
     Please describe in detail how you tested your changes.
     Include details of your testing environment, and the tests you ran to
     see how your change affects other areas of the code, etc.
-->

#### Additional Information (Optional)
ADO: 32013738
@mssonicbld
Copy link
Collaborator Author

Original PR: sonic-net/sonic-platform-daemons#653

@mssonicbld
Copy link
Collaborator Author

/azp run

@azure-pipelines
Copy link

No pipelines are associated with this pull request.

@mssonicbld mssonicbld merged commit c5b86da into Azure:202412 Sep 9, 2025
2 checks passed
mssonicbld added a commit that referenced this pull request Sep 10, 2025
```<br>* 9ab51fe - (HEAD -> 202503) Merge branch '202412' of https://github.com/Azure/sonic-platform-daemons.msft into 202503 (2025-09-10) [Sonic Automation]
* c5b86da - (base/202412) Check low power mode before vdm handling (#48) (2025-09-09) [mssonicbld]<br>```
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.

1 participant