SAI icon indicating copy to clipboard operation
SAI copied to clipboard

Add packet trimming API

Open marian-pritsak opened this issue 1 year ago • 1 comments

When a packet is lost, it can be recovered through fast retransmission (e.g., Go-Back-N in RoCE) or by using timeouts. Retransmission triggered by timeouts typically incurs significant latency. Packet trimming aims to facilitate rapid packet loss notification and, consequently, eliminate slow timeout-based retransmissions.

marian-pritsak avatar Sep 19 '24 03:09 marian-pritsak

Can you also add the spec you are referring for this trimming feature ?

helloanandhi avatar Sep 19 '24 17:09 helloanandhi

Can you also add the spec you are referring for this trimming feature ?

I'm not aware of any RFC or IEEE spec, but there are papers describing this feature, like this one.

marian-pritsak avatar Oct 01 '24 21:10 marian-pritsak

@marian-pritsak - could you please resolve branch conflicts and meta checker issues?

tjchadaga avatar Oct 07 '24 22:10 tjchadaga

Hi Tejaswini,

There are comments in this PR that have not been resolved. They are critical to be addressed.

Regards, -Jai

On Mon, Oct 7, 2024 at 3:35 PM Tejaswini Chadaga @.***> wrote:

@marian-pritsak https://github.com/marian-pritsak - could you please resolve branch conflicts and meta checker issues?

— Reply to this email directly, view it on GitHub https://github.com/opencomputeproject/SAI/pull/2077#issuecomment-2398042820, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKCSHLIAY3AKUIRMBJW3CDLZ2MEEVAVCNFSM6AAAAABOO7NB32VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJYGA2DEOBSGA . You are receiving this because you commented.Message ID: @.***>

-- This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly prohibited. If you received this e-mail in error, please return the e-mail to the sender, delete it from your computer, and destroy any printed copy of it.

JaiOCP avatar Oct 07 '24 22:10 JaiOCP

Can you also add the spec you are referring for this trimming feature ?

I'm not aware of any RFC or IEEE spec, but there are papers describing this feature, like this one.

This is part of a UEC Spec and is not yet released.

JaiOCP avatar Oct 10 '24 16:10 JaiOCP

@marian-pritsak Can we change general nomenclature of the word TRIMMING.

TRIMMING is a function but once the function is achieved, packet is TRIMMED.

we can either change the attributes to where PACKET_TRIMMING as a feature appended by the function on the packet.

SAI_SWITCH_ATTR_PACKET_TRIMMING_SIZE -> SAI_SWITCH_ATTR_PACKET_TRIMMING_TRUNCATION_SIZE

SAI_SWITCH_ATTR_PACKET_TRIMMING_DSCP_VALUE -> SAI_SWITCH_ATTR_PACKET_TRIMMING_TRIMED_PACKET_DSCP_VALUE

SAI_SWITCH_ATTR_PACKET_TRIMMING_QUEUE_INDEX -> SAI_SWITCH_ATTR_PACKET_TRIMMING_TRIMED_PACKET_QUEUE_INDEX

What do you think?

JaiOCP avatar Oct 11 '24 16:10 JaiOCP

@marian-pritsak Can we change general nomenclature of the word TRIMMING.

TRIMMING is a function but once the function is achieved, packet is TRIMMED.

we can either change the attributes to where PACKET_TRIMMING as a feature appended by the function on the packet.

SAI_SWITCH_ATTR_PACKET_TRIMMING_SIZE -> SAI_SWITCH_ATTR_PACKET_TRIMMING_TRUNCATION_SIZE

SAI_SWITCH_ATTR_PACKET_TRIMMING_DSCP_VALUE -> SAI_SWITCH_ATTR_PACKET_TRIMMING_TRIMED_PACKET_DSCP_VALUE

SAI_SWITCH_ATTR_PACKET_TRIMMING_QUEUE_INDEX -> SAI_SWITCH_ATTR_PACKET_TRIMMING_TRIMED_PACKET_QUEUE_INDEX

What do you think?

A more simpler option would be to remove the grammar from the names completely and simply use "TRIM". The purpose and intent should be conveyed through documentation and comments.

tushar-ty avatar Oct 11 '24 21:10 tushar-ty

@marian-pritsak Can we change general nomenclature of the word TRIMMING. TRIMMING is a function but once the function is achieved, packet is TRIMMED. we can either change the attributes to where PACKET_TRIMMING as a feature appended by the function on the packet. SAI_SWITCH_ATTR_PACKET_TRIMMING_SIZE -> SAI_SWITCH_ATTR_PACKET_TRIMMING_TRUNCATION_SIZE SAI_SWITCH_ATTR_PACKET_TRIMMING_DSCP_VALUE -> SAI_SWITCH_ATTR_PACKET_TRIMMING_TRIMED_PACKET_DSCP_VALUE SAI_SWITCH_ATTR_PACKET_TRIMMING_QUEUE_INDEX -> SAI_SWITCH_ATTR_PACKET_TRIMMING_TRIMED_PACKET_QUEUE_INDEX What do you think?

A more simpler option would be to remove the grammar from the names completely and simply use "TRIM". The purpose and intent should be conveyed through documentation and comments.

I like Tushar's idea to remove grammar entirely. What about you, @JaiOCP ?

marian-pritsak avatar Oct 18 '24 16:10 marian-pritsak

@JaiOCP, @helloanandhi, @ashutosh-agrawal - please help complete the review

tjchadaga avatar Nov 18 '24 21:11 tjchadaga

please resove conflicts

kcudnik avatar Dec 22 '24 09:12 kcudnik

@marian-pritsak - please help resolve conflicts

tjchadaga avatar Jan 14 '25 23:01 tjchadaga

@tushar-ty @kperumalbfn Can I get approval? All comments are fixed.

marian-pritsak avatar Jan 17 '25 19:01 marian-pritsak

/azp run

kcudnik avatar Jan 17 '25 21:01 kcudnik

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Jan 17 '25 21:01 azure-pipelines[bot]