msquic icon indicating copy to clipboard operation
msquic copied to clipboard

Support for stream-level ToS/TC

Open akrisfx opened this issue 10 months ago • 5 comments

Describe the feature you'd like supported

Just support for stream-level ToS/TC for more precise prioritization of network traffic

Proposed solution

There will be no need to be afraid that some vital messages will not reach the consumer. And simplification of this mechanism, because now it is possible only within the framework of different connections

Additional context

No response

akrisfx avatar Feb 24 '25 19:02 akrisfx

QWERerRus avatar Apr 10 '25 15:04 QWERerRus

Hi @nibanks and @anrossi , can you estimate the difficulty of this task? And the chance that I can write it by myself

Now I'm trying to analyze the possibility of making different DSCP from different streams without changing the flow much.

And the question: in QuicSendFlush, we send data by splitting it into data from different Streams (as a result, we can set DHCP at this level), or everything is sent at once in a large batch with a single DSCP to different Streams.

akrisfx avatar Apr 21 '25 12:04 akrisfx

Hi @nibanks and @anrossi , can you estimate the difficulty of this task? And the chance that I can write it by myself

If you go with a best effort approach where you only set the non-default DCSP flag if the packet only ends up having the stream you care about (no other streams or control data; i.e. one single frame), then it might be quite easy to support. So, I'd recommend starting with that design, and if you need more, iterate with follow up PRs.

nibanks avatar Apr 21 '25 14:04 nibanks

@akrisfx are you working on this?

nibanks avatar May 02 '25 11:05 nibanks

My lead is still trying to solve this problem with priorities, so not yet. I only managed to create a DSCP field in the stream in my fork.

akrisfx avatar May 03 '25 22:05 akrisfx