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
