-
Notifications
You must be signed in to change notification settings - Fork 543
Add SAI_ATTR_PORT_FW_REVISION to saiport #2197
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
base: master
Are you sure you want to change the base?
Conversation
5d32716
to
a87c2bf
Compare
@pandeytejas , is this presented in SAI meeting? |
No, this is not presented yet. Please let me know when is the earliest we can do that if that is necessary. |
@rlhui , any updates on the above? |
@pandeytejas - are you able to discuss this PR in this week's community meeting (on 9/18)? |
@pandeytejas - also, please resolve the DCO error by updating the signature |
@tjchadaga sure, I can discuss this PR on 9/18. Please send me an invite for the same. |
15c3a1e
to
35eaef6
Compare
@pandeytejas - we have a couple of other PRs scheduled for 9/18. We can discuss this as well if time permits. Otherwise, I will add it to next week's agenda |
This proposal outlines the addition of a new port attribute designed to provide a standardized method for querying the active firmware revision of a port. Proposal - Add label SAI_ATTR_PORT_FW_REVISION under sai_port_attr_h in saiport.h to store firmware related information. This attribute will store a string denoting the current firmware version running on the port. This can denote either the SerDes firmware version or any other vendor specific firmware version that needs to be exported. Signed-off-by: Tejas Pandey <[email protected]>
Tejas, We always provide an example workflow to be clear for the developers. Speculative attribute is not a good idea.On Sep 17, 2025, at 1:46 PM, Tejas Pandey ***@***.***> wrote:
@pandeytejas commented on this pull request.
In inc/saiport.h:
@@ -2687,6 +2687,26 @@ typedef enum _sai_port_attr_t
*/
SAI_PORT_ATTR_PAM4_EYE_VALUES,
+ /**
+ * @brief Get port firmware revision
+ *
+ * Standard attribute to collect port SerDes firmware rev or
+ * any other vendor specific firmware rev.
+ *
+ * @type sai_s8_list_t
+ * @flags READ_ONLY
+ */
+
+ SAI_PORT_ATTR_FW_REVISION,
I don't have a specific example for this, we originally did this to be flexible so that vendors can use it as they like say some use only x.y whereas others use a single hex or even alphanumeric but we are open to changing it to multiple uint32, maybe we can discuss this in the wider forum?
A usecase of this is to change the current firmware on a running port. We can have workflows that check the currently running firmware version by reading this attribute and then trigger and upgrade or downgrade if required.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
|
@JaiOCP I think the last comment came out wrong - I do not have explicit example to support the string vs uint argument. I can present a sample usecase and workflow for these attributes - The usecase for this today is that based on the optic type and speed + modulation being used we have seen that certain serdes firmware would be more suitable over others which means we would have cases wherein we need to dynamically load the firmware. We currently do not have a way to query and cross check if the loaded firmware is what we expect and this attribute is to address that gap. For a sample workflow -
We do not have enums to support dynamically loading the firmware but that seems a good to have and could be added at a later stage. We will setup internal mechanism to address the mismatch issue such as triggering dynamic reload or alert pipelines whichever is more suitable for the vendor. |
This proposal outlines the addition of a new port attribute designed to provide a standardized method for querying the active firmware revision of a port. Proposal - Add label SAI_ATTR_PORT_FW_REVISION under sai_port_attr_h in saiport.h to store firmware related information. This attribute will store a string denoting the current firmware version running on the port. This can denote either the SerDes firmware version or any other vendor specific firmware version that needs to be exported. Signed-off-by: Tejas Pandey <[email protected]>
@JaiOCP @tjchadaga based on the community sync, made following changes -
Denoting a usecase as to how the values would be received by the NOS, we can use the following workflow to understand -
Now the memory address will contain Zr160\0 as the next 6 characters as indicated by the count field. Please let me know if this is what you were looking for. Thanks for reviewing! |
Yes, thats what I was looking. Thanks |
Please fix this statement now that attribute is specific to SERDES. "This can denote either the SerDes firmware version - [ ] or any other vendor specific firmware version that needs to be exported." |
This proposal outlines the addition of a new port attribute designed to provide a standardized method for querying the active SerDes firmware revision of a port. Proposal - Add label SAI_ATTR_PORT_FW_REVISION under sai_port_attr_h in saiport.h to store firmware related information. This attribute will store a string denoting the current SerDes firmware version running on the port. Signed-off-by: Tejas Pandey <[email protected]>
Edited - commit message, original message and code comment. PTAL. |
This proposal outlines the addition of a new port attribute designed to provide a standardized method for querying the active SerDes firmware revision of a port. Proposal - Add label SAI_ATTR_PORT_FW_REVISION under sai_port_attr_h in saiport.h to store firmware related information. This attribute will store a string denoting the current SerDes firmware version running on the port. Signed-off-by: Tejas Pandey <[email protected]>
This proposal outlines the addition of a new port attribute designed to provide a standardized method for querying the active SerDes firmware revision of a port.
Proposal -
Add label SAI_ATTR_PORT_FW_REVISION under sai_port_attr_h in saiport.h to store firmware related information. This attribute will store a string denoting the current SerDes firmware version running on the port.