From: Walker, Benjamin <benjamin.walker at intel.com>
To: spdk@lists.01.org
Subject: Re: [SPDK] Transport
Date: Tue, 25 Oct 2016 22:21:11 +0000 [thread overview]
Message-ID: <1477434069.2512.28.camel@intel.com> (raw)
In-Reply-To: 6D16B6E5-083D-4F22-83F2-67406B051BA3@cloudsimple.com
[-- Attachment #1: Type: text/plain, Size: 3086 bytes --]
On Tue, 2016-10-25 at 23:52 +0530, Kumaraparameshwaran Rathnavel wrote:
> Hey thanks for the reply.
>
> Can you please briefly explain me about the listener cm_id for incoming
> connections and active connection cm_id for incoming NVMe-OF requests.
>
> Does this mean that initially when there is no connection established it is
> acceptor_poll and after the connection establishment it is connection cm_id.
Our NVMe-oF target has a generalized fabric transport layer (transport.h/.c)
that abstracts away the RDMA parts from the rest of the code. This transport
layer consists of a number of callbacks that the specific transports (i.e. RDMA)
must implement. Two of the functions deal with listening for incoming
connections:
/**
* Check for new connections on the transport.
*/
void (*acceptor_poll)(void);
/**
* Instruct the acceptor to listen on the address provided. This
* may be called multiple times.
*/
int (*listen_addr_add)(struct spdk_nvmf_listen_addr *listen_addr);
listen_addr_add() instructs the transport to accept connections on the address
provided. The acceptor_poll() function should check each listen address
previously specified for pending new connection requests. When the
acceptor_poll() function discovers a new pending NVMe-oF connect capsule, it
should allocate an spdk_nvmf_request and call spdk_nvmf_request_exec() to tell
the general purpose library code to process it. Embedded in that request is a
new connection object for the newly established connection. Each queue pair is a
connection in NVMe-oF and the library will poll the transport for new requests
on that queue pair by calling the conn_poll() function pointer. The listen
addresses are static after start up and they persist indefinitely, polled at
some lower frequency, to accept new connections. The connections that are
created as part of new queue pairs are polled for new NVMe-oF request capsules
to perform I/O.
>
> Thanking You,
> Param
> >
> > On 25-Oct-2016, at 10:26 PM, Walker, Benjamin <benjamin.walker(a)intel.com>
> > wrote:
> >
> > On Tue, 2016-10-25 at 20:16 +0530, Kumaraparameshwaran Rathnavel wrote:
> > >
> > > Hi Guys,
> > >
> > > Can you tell me the functionality difference between the aaceptor_poll and
> > > conn_poll in the file rdma.c
> >
> > The acceptor_poll function should check the listener cm_id for incoming
> > connections. The conn_poll should check the active connection cm_id for
> > incoming
> > NVMe-oF requests.
> >
> > >
> > >
> > > Thanking you
> > > Param
> > >
> > > Sent from my iPhone
> > > _______________________________________________
> > > SPDK mailing list
> > > SPDK(a)lists.01.org
> > > https://lists.01.org/mailman/listinfo/spdk
> > _______________________________________________
> > SPDK mailing list
> > SPDK(a)lists.01.org
> > https://lists.01.org/mailman/listinfo/spdk
>
> _______________________________________________
> SPDK mailing list
> SPDK(a)lists.01.org
> https://lists.01.org/mailman/listinfo/spdk
next reply other threads:[~2016-10-25 22:21 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-25 22:21 Walker, Benjamin [this message]
-- strict thread matches above, loose matches on Subject: below --
2016-10-26 2:58 [SPDK] Transport Kumaraparameshwaran Rathnavel
2016-10-25 18:22 Kumaraparameshwaran Rathnavel
2016-10-25 16:56 Walker, Benjamin
2016-10-25 14:46 Kumaraparameshwaran Rathnavel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1477434069.2512.28.camel@intel.com \
--to=spdk@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.