Skip to content

[Mellanox] Enhance is_module_host_management_mode to also check syncd's sai.profile#18

Closed
tshalvi wants to merge 2 commits intomasterfrom
master_reading_sai_profile_from_syncd
Closed

[Mellanox] Enhance is_module_host_management_mode to also check syncd's sai.profile#18
tshalvi wants to merge 2 commits intomasterfrom
master_reading_sai_profile_from_syncd

Conversation

@tshalvi
Copy link
Owner

@tshalvi tshalvi commented Jun 10, 2024

Why I did it

Two steps are required to enable the host CMIS management feature: enabling it in the switch's sai.profile and performing a config reload. During the timeframe between these two steps, the control sysfs might be accessed, but they will not be present on the system until the latter step, the config reload, is completed. The code should try to access the control sysfs only after the config reload step. A good indication that this has been done is to check if the relevant entry is included in syncd's sai.profile. In contrast to the switch's sai.profile, syncd's sai.profile is only updated with the Host CMIS management support flag after the reload is complete.

Work item tracking
  • Microsoft ADO (number only):

How I did it

I updated the is_module_host_management_mode() implementation to first look for the Host CMIS management support flag in syncd's sai.profile, and only if it does not exist for some reason, look for it in the switch's sai.profile.

How to verify it

Add the Host CMIS management support flag to the switch's sai.profile and verify that the following log does not appear:
ERR pmon#xcvrd: Exception occured at DomInfoUpdateTask thread due to Exception('control sysfs for SFP 20 does not exist')

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106
  • 202111
  • 202205
  • 202211
  • 202305

Tested branch (Please provide the tested image version)

Description for the changelog

Link to config_db schema for YANG module changes

A picture of a cute animal (not mandatory but encouraged)

…for the Host CMIS management flag in syncd's sai.profile
@utils.read_only_cache()
def is_module_host_management_mode(cls):
sai_profile_file_syncd = os.path.join('/tmp/', 'sai.profile')
if os.path.exists(sai_profile_file_syncd):

Choose a reason for hiding this comment

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

I would suggest to add an "else" - if this file doesn't exist for some reason, try to check the under-sku file.
Need to think if we want to have this approach -
on the one hand it may cause the bug to appear again. on the second hand, it is under /tmp/ folder and might be deleted. we want to continue the flow even if file was deleted from inside the docker.

tshalvi pushed a commit that referenced this pull request Sep 24, 2024
* Update to Linux 6.1.94

Signed-off-by: Saikrishna Arcot <[email protected]>

* Integrate HW-MGMT 7.0040.1008 Changes (#18)

* Integrate HW-MGMT 7.0040.1011 Changes (#19)

* Update sonic-linux-kernel submodule (#20)

Signed-off-by: Vivek Reddy <[email protected]>

---------

Signed-off-by: Saikrishna Arcot <[email protected]>
Signed-off-by: Vivek Reddy <[email protected]>
Co-authored-by: Vivek <[email protected]>
@tshalvi tshalvi closed this Feb 16, 2025
tshalvi pushed a commit that referenced this pull request Mar 12, 2025
…tically (sonic-net#682)

#### Why I did it
src/sonic-sairedis
```
* 2e00768 - (HEAD -> 202412, origin/HEAD, origin/202412) [code sync] Merge code from sonic-net/sonic-sairedis:202411 to 202412 (#18) (21 hours ago) [mssonicbld]
```
#### How I did it
#### How to verify it
#### Description for the changelog
tshalvi pushed a commit that referenced this pull request Mar 12, 2025
…omatically (sonic-net#705)

#### Why I did it
src/sonic-swss-common
```
* 0d42e0a - (HEAD -> 202412, origin/HEAD, origin/202412) Merge pull request #19 from r12f/code-sync-202412 (18 hours ago) [Riff]
|\ 
| failure_prs.log skip_prs.log 3fa36f4 - Merge remote-tracking branch 'base/202411' into code-sync-202412 (19 hours ago) [r12f]
|/| 
| failure_prs.log skip_prs.log 7aa1a47 - Added field for policer counter (sonic-net#975) (7 days ago) [mssonicbld]
| failure_prs.log skip_prs.log 8f47a37 - Handle 'bulkget' in consumer_table_pops.lua (sonic-net#970) (3 weeks ago) [mssonicbld]
* 3f09bf0 - [code sync] Merge code from sonic-net/sonic-swss-common:202411 to 202412 (#18) (21 hours ago) [mssonicbld]
```
#### How I did it
#### How to verify it
#### Description for the changelog
tshalvi pushed a commit that referenced this pull request Mar 12, 2025
…tomatically (sonic-net#704)

#### Why I did it
src/sonic-linux-kernel
```
* 6877ae3 - (HEAD -> 202412, origin/HEAD, origin/202412) [optoe] Reset page select byte to 0 before upper memory access on page 0h (sonic-net#464) (#18) (21 hours ago) [mssonicbld]
```
#### How I did it
#### How to verify it
#### Description for the changelog
tshalvi pushed a commit that referenced this pull request Jun 30, 2025
…ly (sonic-net#22549)

#### Why I did it
src/sonic-bmp
```
* d880861 - (HEAD -> master, origin/master, origin/HEAD) Merge pull request #18 from sonic-net/fixlog (3 hours ago) [Feng-msft]
* 014d101 - (origin/fixlog) Adjust disable logging into debug level to avoid log spawn (18 hours ago) [Feng Pan]
```
#### How I did it
#### How to verify it
#### Description for the changelog
tshalvi pushed a commit that referenced this pull request Aug 25, 2025
…UT so that we can get back to back Paladin ports up with Arista-7060X6-16PE-384C-O128S2 (sonic-net#1144)

<!--
 Please make sure you've read and understood our contributing guidelines:
 https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

 failure_prs.log skip_prs.log Make sure all your commits include a signature generated with `git commit -s` **

 If this is a bug fix, make sure your description includes "fixes #xxxx", or
 "closes #xxxx" or "resolves #xxxx"

 Please provide the following information:
-->

#### Why I did it

Currently when we loaded HWSKU `Arista-7060X6-16PE-384C-O128S2` on two moby devices and connect their Paladin ports back to back, we can't get link up. It may help if we can get these links up and run the tests.

##### Work item tracking
- Microsoft ADO **(number only)**:

#### How I did it

Created a new `FANOUT` HWSKU containing special lanemap and polarity configs so that we can load `Arista-7060X6-16PE-384C-O128S2` on one Moby and `Arista-7060X6-16PE-384C-O128S2-FANOUT` and get Paladin ports up when connecting them back to back with the following setup:
```
Moby1 Moby2
HWSKU: Arista-7060X6-16PE-384C-O128S2 HWSKU: Arista-7060X6-16PE-384C-O128S2-FANOUT
#17 <-> #18
#19 <-> #20
#21 <-> #22
#23 <-> #24

#18 <-> #17
#20 <-> #19
#22 <-> #21
#24 <-> #23
```

#### How to verify it
Verified that all the Paladin ports can link up with the above setup.

<!--
If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012.
-->

#### Which release branch to backport (provide reason below if selected)

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [ ] 202111
- [ ] 202205
- [ ] 202211
- [ ] 202305
- [x] msft-202412

#### Tested branch (Please provide the tested image version)

<!--
- Please provide tested image version
- e.g.
- [x] 20201231.100
-->

- [ ] <!-- image version 1 -->
- [ ] <!-- image version 2 -->
- [x] msft-202412

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->
Created `Arista-7060X6-16PE-384C-O128S2-FANOUT` based on `Arista-7060X6-16PE-384C-O128S2` and only update lanemap and polarity settings in bcm config.

<!--
 Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU.
-->

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->

#### A picture of a cute animal (not mandatory but encouraged)
tshalvi pushed a commit that referenced this pull request Aug 25, 2025
…tomatically (sonic-net#1498)

#### Why I did it
src/sonic-gnmi
```
* 3679372 - (HEAD -> 202412, origin/202412) Add SHOW implementation for interface transceiver error-status. (#18) (4 hours ago) [mssonicbld]
* 45d679a - Add show watermark telemetry interval implementation (#16) (19 hours ago) [mssonicbld]
* 57d0b6f - Simplify option support for all SHOW paths (#15) (23 hours ago) [mssonicbld]
* 7dd2615 - Add support for show int error (#14) (24 hours ago) [mssonicbld]
* d8e0216 - Add SHOW implementation for interface counters (#11) (25 hours ago) [mssonicbld]
* 6c56f41 - [202412] Manual cherrypick for adding support for RATES tables in Counters DB so that PRE_FEC/POST_FEC_BER via ST (#13) (26 hours ago) [Zain Budhwani]
```
#### How I did it
#### How to verify it
#### Description for the changelog
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