[Samba] SMB Multichannel not working?
Jeremy Allison
jra at samba.org
Thu Feb 2 19:56:20 UTC 2023
On Thu, Feb 02, 2023 at 05:19:50PM +0000, Carter Sheehan via samba wrote:
>Rowland,
>
>Here are a few screenshots of the protocol negotiation packets between my client (172.27.252.57) and my Samba server (172.27.252.11): https://imgur.com/a/nXk3QRV
>[https://i.imgur.com/wCcFvhc.png?fb]<https://imgur.com/a/nXk3QRV>
>imgur.com<https://imgur.com/a/nXk3QRV>
>Imgur: The magic of the Internet
>imgur.com
>
>
>In the screenshots, there is an initial SMB request from the client (no capabilities specified), an SMBv2 reply from the server stating it does NOT support multi channel, a 2nd request from the client (now in SMBv2 protocol), and an SMBv2 reply from the server saying it supports multichannel. The two replies from the server contradict one another. The "Session Request" packets after the protocol negotiations show the session request did not have multichannel enabled. I suspect this is because the client saw the first protocol negotiation reply that said the server did not support multichannel and so the client did not enable multichannel in it's request for a session.
OK, that's the problem. The initial SMB request from the client
has zero capabilities specified.
The code to return multi-channel capability looks like this:
if (protocol >= PROTOCOL_SMB3_00 &&
xconn->client->server_multi_channel_enabled)
{
if (in_capabilities & SMB2_CAP_MULTI_CHANNEL) {
capabilities |= SMB2_CAP_MULTI_CHANNEL;
}
}
Note that in_capabilities (capabilities offered by the
client) needs to have SMB2_CAP_MULTI_CHANNEL set in order
for the server to reply that it supports SMB2_CAP_MULTI_CHANNEL.
What client is this ?
More information about the samba
mailing list