[cifs-protocol] [EXTERNAL] MS-SMB2 over QUIC and usage of QUIC streams - TrackingID#2503280040007778

Kristian Smith Kristian.Smith at microsoft.com
Wed May 7 17:59:38 UTC 2025


Hi Metze,

After further research, I've determined that our SMB implementation only requests one stream per connection. The MSQUIC implementation then assigns the first available stream ID which would be 0. Since it's a one-to-one relationship, you shouldn't ever see a different stream ID for SMB. The MSQUIC implementation is open-sourced, so you can have a look at how it works. Here is a link to some of the code relevant to stream initialization (everything else is there to peruse as well): https://github.com/microsoft/msquic/blob/ff44a4df1ebf865b38bee600bf15651f36b6d6a6/src/core/stream.c

If you have any further questions, please let me know.

Regards,
Kristian Smith
Support Escalation Engineer | Microsoft® Corporation
Email: kristian.smith at microsoft.com

-----Original Message-----
From: Kristian Smith 
Sent: Tuesday, May 6, 2025 10:08 PM
To: 'Stefan Metzmacher' <metze at samba.org>
Cc: 'cifs-protocol at lists.samba.org' <cifs-protocol at lists.samba.org>; Microsoft Support <supportmail at microsoft.com>
Subject: RE: [EXTERNAL] MS-SMB2 over QUIC and usage of QUIC streams - TrackingID#2503280040007778

Hi Metze,

I'm continuing to research the questions you've posed regarding QUIC Stream ID's in SMB over QUIC. I will reach out again this week with my findings. Thanks again for your patience.

Regards,
Kristian Smith
Support Escalation Engineer | Microsoft® Corporation
Email: kristian.smith at microsoft.com

-----Original Message-----
From: Kristian Smith 
Sent: Thursday, May 1, 2025 3:06 PM
To: 'Stefan Metzmacher' <metze at samba.org>
Cc: 'cifs-protocol at lists.samba.org' <cifs-protocol at lists.samba.org>; Microsoft Support <supportmail at microsoft.com>
Subject: RE: [EXTERNAL] MS-SMB2 over QUIC and usage of QUIC streams - TrackingID#2503280040007778

Hi Metze,

Just wanted to update you as to my progress on this case. I've created a test environment for SMB over QUIC and have begun debugging to find the QUIC code that we utilize to determine the Stream ID.

Am I correct in assuming that the Stream ID you're referencing is the one from the QUIC protocol itself (as found in RFC 9000, Section 2.1)?

Thanks again for your time and partnership.

Regards,
Kristian Smith
Support Escalation Engineer | Microsoft® Corporation
Email: kristian.smith at microsoft.com

-----Original Message-----
From: Kristian Smith 
Sent: Friday, April 25, 2025 8:09 AM
To: Stefan Metzmacher <metze at samba.org>
Cc: cifs-protocol at lists.samba.org; Microsoft Support <supportmail at microsoft.com>
Subject: RE: [EXTERNAL] MS-SMB2 over QUIC and usage of QUIC streams - TrackingID#2503280040007778

Hi Metze,

Thanks for your patience on this question. I am setting up an SMB over QUIC repro in my lab environment so that I can debug and determine the significance of the Stream ID. I will get back in touch once I have information to share with you.

Regards,
Kristian Smith
Support Escalation Engineer | Microsoft® Corporation
Email: kristian.smith at microsoft.com

-----Original Message-----
From: Kristian Smith <Kristian.Smith at microsoft.com> 
Sent: Friday, March 28, 2025 8:37 AM
To: Stefan Metzmacher <metze at samba.org>
Cc: cifs-protocol at lists.samba.org; Microsoft Support <supportmail at microsoft.com>
Subject: RE: [EXTERNAL] MS-SMB2 over QUIC and usage of QUIC streams - TrackingID#2503280040007778

[DocHelp to Bcc]

Hi Metze,

Thanks for reaching out with your questions regarding QUIC in MS-SMB2. Case 2503280040007778 has been created for your inquiries and one of our engineers will respond soon.

Regards,
Kristian Smith
Support Escalation Engineer | Microsoft® Corporation
Email: kristian.smith at microsoft.com

-----Original Message-----
From: Stefan Metzmacher <metze at samba.org> 
Sent: Friday, March 28, 2025 12:11 AM
To: Interoperability Documentation Help <dochelp at microsoft.com>
Cc: cifs-protocol at lists.samba.org
Subject: [EXTERNAL] MS-SMB2 over QUIC and usage of QUIC streams

Hi DocHelp,

in MS-SMB2 I can't find any hint on the usage about streams with a QUIC connection.

 From captures I see that a Windows client uses stream id 0.
And from various talks and discussions at conferences it seems to be clear that only a single stream is used.

But I'm wondering what happens if a peer creates additional streams. How does a Windows client behave if that happens?
Will these be ignored?
Will the whole QUIC connection be terminated?
Will the stream id being ignored?
Does a Windows Server only accepts clients using stream id 0?

It would be good to have this documented.

Thanks!
metze



More information about the cifs-protocol mailing list