-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Nokia][sonic-platform] Update Nokia sonic-platform submodule #15239
Conversation
@prgeor and/or @mihirpat1, can you review? Thanks. This PR fixes both issues described at https://github.com/Nokia-ION/ndk/issues/16 |
@snider-nokia looks like the Cache design in your platform seems not right as the platform sfp.py needs to override the base class APIs (and future APIs) to work with Cache. Why doesn't the cache implementation work seamlessly for any API? |
This model was used originally to more closely monitor/examine (and tune for) what the underlying optoe bulk driver methods were/are doing. If you'd prefer, the overriding of these methods can be removed. The cache design should (and does) indeed work properly/seamlessly for any API at present (for any page that is currently cacheable). I can also add the balance of the specification mapped page space even prior to those pages being referenced by Xcvrd... |
@snider-nokia can we avoid overriding the base class APIs:-
|
All set, Prince. Tested and ready for merge. **Note: These new changes require NDK version 22.9.10. Both this PR and associated NDK PR should be merged to 202205 at the same time. Same paradigm should be applied for merge to 202211 (both at the same time). |
@snider-nokia , Can you clarify if this dependency can cause existing functionality issue? |
Yes @gechiang, you cannot use one without the other. The PMON changes contained in this PR must be coupled with NDK version 22.9.10 (PR#44) wherever (to whatever branch) either of the referenced PRs are merged. You will indeed see a functionality issue if both PRs are not merged/built together. |
@snider-nokia , Since we cannot have these separated... I would suggest that we first move this PR to the sonic-buildimage-msft and not attempt to merge into public branches... We should then think about how to make these "dependent PRs" available in a way that they can be both applied in the public community branches... |
@gechiang Per design agreement between MSFT and Nokia, public Master doesn't include NDK module. It means the master image is not applicable to be running on Nokia IXR7250E platform. This PR is Nokia specific sonic-platform submodule. It won't impact another vendor. It is safe to merge to the master branch, then cherry-pick to the 202205. This is the method which both MSFT and Nokia agreed with and has been used since the beginning. Thanks. |
@mlok-nokia can you confirm that this change has been tested on 202205 branch? |
Got it! Thanks for your clarification. Since this PR is only applicable to IXR7250E platform, it will only impact this platform at which whoever needs to run on this platform should be building from the msft repo which has the NDK module. |
MSFT ADO: 24442945 |
@snider-nokia PR conflicts with 202211 branch |
…net#15239) Why I did it To support dynamic swapping of module types/speeds (400G/100G/40G) To optimize CMIS ZR optics operation How I did it Reinitialize xcvr_api at module removal/insertion time, and also optimize cache for ZR optics. How to verify it Verify that different (supported) module types can be dynamically swapped (removed/inserted) and that each is properly provisioned by Xcvrd and has its EEPROM information accurately reported in Redis DB (using "show transceiver eeprom") as well as "sfputil show eeprom" direct access. Also verify that Xcvrd initialization and operation with 400G CMIS ZR optics is both efficient and functional. ** edit 6/14/23: pushed enhanced caching (full memory map) support and elimination of base class APIs override.
Cherry-pick PR to 202205: #15710 |
…net#15239) Why I did it To support dynamic swapping of module types/speeds (400G/100G/40G) To optimize CMIS ZR optics operation How I did it Reinitialize xcvr_api at module removal/insertion time, and also optimize cache for ZR optics. How to verify it Verify that different (supported) module types can be dynamically swapped (removed/inserted) and that each is properly provisioned by Xcvrd and has its EEPROM information accurately reported in Redis DB (using "show transceiver eeprom") as well as "sfputil show eeprom" direct access. Also verify that Xcvrd initialization and operation with 400G CMIS ZR optics is both efficient and functional. ** edit 6/14/23: pushed enhanced caching (full memory map) support and elimination of base class APIs override.
Cherry-pick PR to 202305: #15873 |
@snider-nokia , can you address the cherry-pick conflict for this PR in the 202211 branch? |
Sorry @gechiang, it looks like I checked the 202211 inclusion box inadvertently. We have not provided supported for that branch since it was forked. I have checked internally and verified this answer, so I have now unchecked the 202211 inclusion box. Thanks. |
@snider-nokia , Thanks for responding, I will go ahead remove the "Request for 202211 branch" label for this PR. |
I will raise this issue for internal discussion here, @gechiang. I don't think we have a current plan to support every branch that would qualify for backport (based on your description), but will verify at this end. |
…net#15239) Why I did it To support dynamic swapping of module types/speeds (400G/100G/40G) To optimize CMIS ZR optics operation How I did it Reinitialize xcvr_api at module removal/insertion time, and also optimize cache for ZR optics. How to verify it Verify that different (supported) module types can be dynamically swapped (removed/inserted) and that each is properly provisioned by Xcvrd and has its EEPROM information accurately reported in Redis DB (using "show transceiver eeprom") as well as "sfputil show eeprom" direct access. Also verify that Xcvrd initialization and operation with 400G CMIS ZR optics is both efficient and functional. ** edit 6/14/23: pushed enhanced caching (full memory map) support and elimination of base class APIs override.
Merge code from master to internal Related work items: sonic-net#32, sonic-net#49, sonic-net#376, sonic-net#2598, sonic-net#11862, sonic-net#12530, sonic-net#14000, sonic-net#14547, sonic-net#14549, sonic-net#14814, sonic-net#15077, sonic-net#15239, sonic-net#15252, sonic-net#15253, sonic-net#15298, sonic-net#15357, sonic-net#15384, sonic-net#15394, sonic-net#15399, sonic-net#15405, sonic-net#15511, sonic-net#15566, sonic-net#15583, sonic-net#15591, sonic-net#15592, sonic-net#15593, sonic-net#15602, sonic-net#15604, sonic-net#15611, sonic-net#15621, sonic-net#15625, sonic-net#15634, sonic-net#15635, sonic-net#15645, sonic-net#15646, sonic-net#15647, sonic-net#15657, sonic-net#15658, sonic-net#15697, sonic-net#15699
This fixes https://github.com/Nokia-ION/ndk/issues/16.
Why I did it
How I did it
Reinitialize xcvr_api at module removal/insertion time, and also optimize cache for ZR optics.
How to verify it
Verify that different (supported) module types can be dynamically swapped (removed/inserted) and that each is properly provisioned by Xcvrd and has its EEPROM information accurately reported in Redis DB (using "show transceiver eeprom") as well as "sfputil show eeprom" direct access.
Also verify that Xcvrd initialization and operation with 400G CMIS ZR optics is both efficient and functional.
** edit 6/14/23: pushed enhanced caching (full memory map) support and elimination of base class APIs override.
Which release branch to backport (provide reason below if selected)
Description for the changelog
Cache tuning for ZR optics and add support for dynamic module type/speed swapping.