public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* Handling incoming RDMA CM connections when there is more than one IB HCA in a system
@ 2013-08-25 11:41 Richard Sharpe
       [not found] ` <CACyXjPzPJ=cZ1WkjYJ_o_4uLE50mn-TX93Answz7nw2rn619-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Richard Sharpe @ 2013-08-25 11:41 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA

Hi folks,

I am attempting to implement SMB Direct (aka SMB over RDMA) for Samba.

For historical, protocol and performance reasons I believe that I need
to write a character driver that offloads RDMA stuff to the kernel.

Briefly, these reasons are:

1. Samba forks a new smbd when each incoming SMB connection arrives

2. SMB Over RDMA operates by first connecting to the server over TCP,
bringing up SMB, determining that the server supports RDMA and then
establishing an RDMA connection, bringing up SMB Direct and then
transporting SMB PDUs over that.

3. The current Windows client implementation pays no attention to the
port supplied to it by the server and always connects on port 4554.

I plan on writing a small driver that uses the in-kernel RDMA support
to implement SMB Direct and provide shared memory mechanisms for
avoiding copying data to and from the kernel for RDMA READs and RDMA
WRITEs.

After reading the srpt driver, much of what I need to do seems clear.

However, I figure that I will eventually need to support situations
where there are multiple IB HCAs in a system, and I wondered if there
are any abstractions that allow me to do an ib_cm_listen across
multiple devices at once?

It seems that I have to do an ib_create_cm_id against a device before
I can do a listen, but that suggests that I have to:

1. Create a CM ID for each device in the system. This seems easy
because of the callbacks that result from ib_register_client

2. Listen on each CM ID

3. When I get a callback on one listen, cancel the others.

Is there an easier way?

--
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2013-08-26 19:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-25 11:41 Handling incoming RDMA CM connections when there is more than one IB HCA in a system Richard Sharpe
     [not found] ` <CACyXjPzPJ=cZ1WkjYJ_o_4uLE50mn-TX93Answz7nw2rn619-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-08-25 12:26   ` Or Gerlitz
2013-08-26 17:48   ` Jason Gunthorpe
     [not found]     ` <20130826174844.GD12296-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-08-26 19:17       ` Richard Sharpe
     [not found]         ` <CACyXjPxyU6LO_31EVf9D_CwsX-aohEh_UbAQx97jJFh6PaLfgw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-08-26 19:35           ` Jason Gunthorpe

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