public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* Work in progress SMB-Direct driver for the linux kernel
@ 2018-02-01  8:18 Stefan Metzmacher
       [not found] ` <959c3608-c508-17c4-bad6-fd9421a4a235-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Stefan Metzmacher @ 2018-02-01  8:18 UTC (permalink / raw)
  To: David Disseldorp
  Cc: Samba Technical,
	linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Tom Talpey,
	Long Li, Steve French, Ralph Böhme


[-- Attachment #1.1: Type: text/plain, Size: 2101 bytes --]

Hi David,

you were asking about my work in progress of the SMB-Direct driver for
the linux kernel.

I dumped what I have to git://git.samba.org/metze/linux/smbdirect.git
into the smbdirect-work-in-progress branch.

See
https://git.samba.org/?p=metze/linux/smbdirect.git;a=shortlog;h=refs/heads/smbdirect-work-in-progress

From the README:

This is a work in progress SMB-Direct driver for the linux kernel

It's just a raw dump of what I currently have to get some help
with debugging kernel freezes. A lot of cleanups are required
and real commits with useful commit messages...

The protocol is specified by Microsoft in
[MS-SMBD] SMB2 Remote Direct Memory Access (RDMA) Transport Protocol

The aim is to later reuse parts of this for other operating systems
like FreeBSD.

The first goal is to provide a socket fd to userspace (or in kernel
consumers)
which provides semantics like a TCP socket which is used as transport
for SMB3. Basically frames are submitted with a 4 byte length header.

The second goal will be to provide RDMA read and write support
via ioctl() calls on the main smb-direct socket fd, but the
api for that is not yet designed. But it needs to
avoid data copy as much as possible.

loadchelsio.sh, loadrxe.sh, loadsiw.sh offer some examples
to setup the rdma stack before using 'insmod smbdirect.ko'.

The userspace 'smbdirect-tool' offers some commands for testing.

  "connect <dstaddr> [<dstport> [<srcaddr> [<srcport>]]]"

  "172.31.9.166"
  "172.31.9.166 5445"
  "172.31.9.166 5445 172.31.9.167"
  "fd3a:aaa3:ee87:ff09:f189:7430:7976:6276 5445"

  "listen [<port> [<addr>]]"

  "5445"
  "5445 172.31.9.166"
  "445 fd3a:aaa3:ee87:ff09:f189:7430:7976:6276"

The current state is the following:
- It compiles with v4.{10,11,12,13,14,15}
- The kernel freezes after some time
  on an active connection, e.g. when readv() is called
- Also rmmod smbdirect causes a freeze after some time

As you gave a talk about debugging the linux kernel
you might be able to find the reasons for the (silent) freezes.

metze


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-02-05  1:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-01  8:18 Work in progress SMB-Direct driver for the linux kernel Stefan Metzmacher
     [not found] ` <959c3608-c508-17c4-bad6-fd9421a4a235-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>
2018-02-01 12:12   ` David Disseldorp
2018-02-01 17:52   ` Jason Gunthorpe
     [not found]     ` <20180201175247.GT17053-uk2M96/98Pc@public.gmane.org>
2018-02-02  3:00       ` Richard Sharpe
     [not found]         ` <CACyXjPyKcLktNqEdBbicSd=3GU7R9BeE-=Dcc2DyCh2sH9wxMg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-02  9:25           ` Stefan Metzmacher
     [not found]             ` <2f684247-04ec-1c0f-8153-9b6f8d45f265-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>
2018-02-02 14:52               ` Tom Talpey
2018-02-04 16:39       ` Doug Ledford
     [not found]         ` <1517762353.3936.41.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-02-05  1:32           ` Steve French

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox