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: [email protected]

-----Original Message-----
From: Kristian Smith 
Sent: Tuesday, May 6, 2025 10:08 PM
To: 'Stefan Metzmacher' <[email protected]>
Cc: '[email protected]' <[email protected]>; Microsoft 
Support <[email protected]>
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: [email protected]

-----Original Message-----
From: Kristian Smith 
Sent: Thursday, May 1, 2025 3:06 PM
To: 'Stefan Metzmacher' <[email protected]>
Cc: '[email protected]' <[email protected]>; Microsoft 
Support <[email protected]>
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: [email protected]

-----Original Message-----
From: Kristian Smith 
Sent: Friday, April 25, 2025 8:09 AM
To: Stefan Metzmacher <[email protected]>
Cc: [email protected]; Microsoft Support <[email protected]>
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: [email protected]

-----Original Message-----
From: Kristian Smith <[email protected]> 
Sent: Friday, March 28, 2025 8:37 AM
To: Stefan Metzmacher <[email protected]>
Cc: [email protected]; Microsoft Support <[email protected]>
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: [email protected]

-----Original Message-----
From: Stefan Metzmacher <[email protected]> 
Sent: Friday, March 28, 2025 12:11 AM
To: Interoperability Documentation Help <[email protected]>
Cc: [email protected]
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

_______________________________________________
cifs-protocol mailing list
[email protected]
https://lists.samba.org/mailman/listinfo/cifs-protocol

Reply via email to