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

Jeremy Allison jra at samba.org
Thu Jun 26 13:24:26 MDT 2014


On Thu, Jun 26, 2014 at 03:29:41PM +0200, Stefan (metze) Metzmacher wrote:
> Am 31.05.2014 01:57, schrieb Jeremy Allison:
> >>>>> I've just started my
> >>>>> https://git.samba.org/?p=metze/samba/wip.git;a=shortlog;h=refs/heads/master3-multi-channel
> >>>>> branch. There's some work in progress that prepares the data structures
> >>>>> for multi-channel.
> >>>>
> >>>> Here're some patches ready for master, please review.
> >>>>
> >>>
> >>> EWRONGPATCH?
> >>
> >> :-)
> >>
> >> 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:-)

Woo Hoo ! Ship it ! :-).

> But the patches are not cleaned up and need more work to get ready for
> master.

I'm very happy to help review, as you deem them
good. Thanks a *LOT* for this code !

> Also the connection shutdown isn't handled correctly yet a disconnect on one
> connection disconnects all connections...

A minor detail :-) :-) :-).

> 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.

Details, details (as in, the devil is in the :-) :-).

Great work Metze and SerNet, thanks !

Jeremy.


More information about the samba-technical mailing list