SMB3 Multi-Channel (Re: What I'm working on)

Stefan (metze) Metzmacher metze at
Thu Jun 26 07:29:41 MDT 2014

Am 31.05.2014 01:57, schrieb Jeremy Allison:
>>>>> I've just started my
>>>>> branch. There's some work in progress that prepares the data structures
>>>>> for multi-channel.
>>>> Here're some patches ready for master, please review.
>> :-)
>> metze
> FYI - pushed 01 and 02, as they're obvious goodness.
> I'll look at the others later.

Please ignore the rest for now, I'll resubmit them later after fixing
some minor things.

In the meantime I made a lot of progress implementing multi-channel
using fd-passing in the new unix datagram socket based messaging.

While processing the first SMB2 Negotiate request (SMB > 2.10)
we get the client guid and look it up in a new smbXsrv_client_global.tdb.

Then we pass the whole SMB2 Negotiate pdu together with the socket fd
to smbd that registered the client_guid in smbXsrv_client_global.tdb.

The passed connection gets a new smbXsrv_connection structure setup
which is then added to the linked list smbXsrv_client->connections.

The session bind via SMB2 SessionSetup also works, which means
that the session can be used on all connections.

So in theory multi-channel support is done:-)

But the patches are not cleaned up and need more work to get ready for
Also the connection shutdown isn't handled correctly yet a disconnect on one
connection disconnects all connections...

The main thing that is needed now is new tests, to work out (or prove)
the details of disconnects, replay handling, which connection will be used
to send oplock breaks and others things.

We also need to find a way to ask the kernel about the link state of
network interfaces.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 246 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the samba-technical mailing list