Skip to content

SAI support for Credit Based Flow Control as defined in UEC 1.0.#2263

Open
rck-innovium wants to merge 1 commit intoopencomputeproject:masterfrom
rck-innovium:rck_cbfc
Open

SAI support for Credit Based Flow Control as defined in UEC 1.0.#2263
rck-innovium wants to merge 1 commit intoopencomputeproject:masterfrom
rck-innovium:rck_cbfc

Conversation

@rck-innovium
Copy link
Contributor

SAI support for Credit Based Flow Control as defined in UEC 1.0 on behalf of UEC Manageability Work Group.

Note: Reviewers who are non UEC members must follow the instructions #2226

@rck-innovium
Copy link
Contributor Author

@JaiOCP @j-bos Can you please review.

Copy link
Contributor

@JaiOCP JaiOCP left a comment

Choose a reason for hiding this comment

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

Please add the markdown file as well with work flow etc.

SAI_PORT_ATTR_QOS_DOT1P_DEI_TO_TC_MAP,

/**
* @brief List of virtual channels for the port.
Copy link
Contributor

Choose a reason for hiding this comment

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

Virtual channels are essentially traffic class


/** Virtual Channel */
sai_uint8_t vc;

Copy link
Contributor

Choose a reason for hiding this comment

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

This is changing the struct size. What are the warm boot implications of it.

Copy link
Collaborator

Choose a reason for hiding this comment

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

good question, since this is breaking change, also serialize/deserialize in sairedis would need to handle this case

Copy link
Contributor Author

@rck-innovium rck-innovium Mar 19, 2026

Choose a reason for hiding this comment

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

@JaiOCP @kcudnik

If we can do the serialize/deserialize in sairedis for this size change, it would be good.

There is no cleaner way to get around this. If we really dont want to change the size of this struct, we can take the below approach which could be potentially confusing for the application writers:

  • Overloading the existing dot1p to be used as dot1p_dei when the qosmap type is SAI_QOS_MAP_TYPE_DOT1P_DEI_TO_TC.

  • Similarly, overload the existing fc to be used as vc when the qosmap type is SAI_QOS_MAP_TYPE_QUEUE_TO_VC or SAI_QOS_MAP_TYPE_TC_TO_VC.

Please give your suggestions.

Copy link
Collaborator

Choose a reason for hiding this comment

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

looks like a good topic for sai community meeting, handling serialization is easy

@rck-innovium
Copy link
Contributor Author

Please add the markdown file as well with work flow etc.

Added [‎doc/CBFC/SAI-Credit_Based_Flow_Control.md]

Signed-off-by: rck-innovium <rck@marvell.com>
@rck-innovium
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Commenter does not have sufficient privileges for PR 2263 in repo opencomputeproject/SAI

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.

4 participants