From: Bart Van Assche <Bart.VanAssche-Sjgp3cTcYWE@public.gmane.org>
To: "jgg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org"
<jgg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
"dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
<dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: "linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH v2 00/14] IB/srpt: Add RDMA/CM support
Date: Tue, 30 Jan 2018 18:19:50 +0000 [thread overview]
Message-ID: <1517336389.2589.22.camel@wdc.com> (raw)
In-Reply-To: <1517334206.27592.291.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
On Tue, 2018-01-30 at 12:43 -0500, Doug Ledford wrote:
> On Tue, 2018-01-30 at 00:23 +0000, Bart Van Assche wrote:
> > On Wed, 2018-01-17 at 18:14 -0500, Doug Ledford wrote:
> > > On Tue, 2018-01-16 at 16:14 -0800, Bart Van Assche wrote:
> > > > Hello Jason and Doug,
> > > >
> > > > This patch series not only adds RDMA/CM support to the SRP target driver but
> > > > also fixes a number of race conditions in that driver.
> > > >
> > > > The RDMA/CM listener port number has to be specified as an ib_srpt kernel
> > > > module parameter. The default value for that parameter is zero which means
> > > > that RDMA/CM support is disabled.
> > >
> > > Since srpt is already configured via the lIO framework, wouldn't that be
> > > a better place for the listen port? In fact, shouldn't it be part of a
> > > portal like you have for iSERt?
> >
> > Wouldn't that be overkill to have one listen port per RDMA port? I think
> > it will be easier for users if they have to configure the RDMA/CM port once
> > instead of one time per RDMA port. How about using the following location in
> > configfs for the RDMA/CM port:
> >
> > /sys/kernel/config/target/srpt/discovery_auth/rdma_cm_port
>
> Hmmm...maybe the real answer here is to start considering how serious we
> are about the RDMA_CM support in SRP. If we're serious, should someone
> contact IANNA about a reserving port number and just use whatever they
> give us? If we want to do the simple thing, a module option is fine,
> while we decide on this issue, then I can see that being OK. I'm more
> OK with using configfs if there's a chance we won't get a well known
> reserved port and the config option will stick around long term. And I
> tend to agree, per interface port configuration is probably not that
> interesting. But the ability to specify something other than the
> wildcard IP address to listen on, and the ability to specify more than
> one IP address to listen on, are.
Hello Doug,
My motivation for posting the RDMA/CM patches on the linux-rdma mailing list
for the SRP initiator and target drivers was to allow others to run the
srp-test software on a setup that does not have any RDMA adapters, namely by
using the SoftRoCE driver. Since IANA has not yet assigned a port number to
SRP over RoCE I choose to make the port number configurable.
Personally I don't think we have to postpone the ib_srpt RDMA/CM patch until
IANA has assigned a port number. Once IANA has assigned a port number we
could e.g. modify the ib_srpt driver to enable RDMA/CM support by default
with the assigned port number (the patch I posted leaves RDMA/CM support
disabled by default).
Regarding configuring on which IP address to listen, one possibile approach
is to move the rdma_cm_port port number configfs attribute from
/sys/kernel/config/target/srpt/discovery_auth/rdma_cm_port to
/sys/kernel/config/target/srpt/$port/$port/attrib/rdma_cm_port where $port
is an RDMA port GUID or GID (both are accepted). That would allow to
enable/disable RDMA/CM support per RDMA adapter port. The ib_srpt driver
could e.g. create one listening rdma_cm_id per IP address that is associated
with an RDMA port.
One approach I have considered for allowing to configure per IP address
whether or not to accept incoming connections is to accept IP addresses as
RDMA port identifier ($port). However, that would complicate the ib_srpt
driver because there is code in that driver that assumes that there is a 1:1
relationship between RDMA ports and struct srpt_port instances. As an
example, the port[] array in struct srpt_device is an array with two elements.
Code like srpt_event_handler() and srpt_cm_req_recv() uses that array to
translate a port number into a struct srpt_port pointer.
Yet another approach would be to introduce a new directory hierarchy in
configfs for configuring IP access control. However, I don't think that would
be possible without modifying the LIO target core. And as you probably know
since several months the LIO target core maintainer is mostly interested in
bug fixes and not in new features or any other kind of patch that changes the
target core significantly.
Thanks,
Bart.
next prev parent reply other threads:[~2018-01-30 18:19 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-17 0:14 [PATCH v2 00/14] IB/srpt: Add RDMA/CM support Bart Van Assche
[not found] ` <20180117001418.7852-1-bart.vanassche-Sjgp3cTcYWE@public.gmane.org>
2018-01-17 0:14 ` [PATCH v2 01/14] IB/srpt: Make it safe to use RCU for srpt_device.rch_list Bart Van Assche
2018-01-17 0:14 ` [PATCH v2 02/14] IB/srpt: Rework srpt_disconnect_ch_sync() Bart Van Assche
2018-01-17 0:14 ` [PATCH v2 03/14] IB/srpt: Add P_Key support Bart Van Assche
2018-01-17 0:14 ` [PATCH v2 04/14] IB/srpt: One target per port Bart Van Assche
2018-01-17 0:14 ` [PATCH v2 05/14] IB/srpt: Use the source GID as session name Bart Van Assche
2018-01-17 0:14 ` [PATCH v2 06/14] IB/srpt: Rework multi-channel support Bart Van Assche
2018-01-17 0:14 ` [PATCH v2 07/14] IB/srpt: Simplify srpt_close_session() Bart Van Assche
2018-01-17 0:14 ` [PATCH v2 08/14] IB/srpt: Log all zero-length writes and completions Bart Van Assche
2018-01-17 0:14 ` [PATCH v2 09/14] IB/srpt: Fix login-related race conditions Bart Van Assche
2018-01-17 0:14 ` [PATCH v2 10/14] IB/srpt: Fix a race condition related to wait list processing Bart Van Assche
2018-01-17 0:14 ` [PATCH v2 11/14] IB/srpt: Avoid that wait list processing triggers command reordering Bart Van Assche
2018-01-17 0:14 ` [PATCH v2 12/14] IB/srpt: Prepare RDMA/CM support Bart Van Assche
2018-01-17 0:14 ` [PATCH v2 13/14] IB/srpt: Move the code for parsing struct ib_cm_req_event_param Bart Van Assche
2018-01-17 0:14 ` [PATCH v2 14/14] IB/srpt: Add RDMA/CM support Bart Van Assche
2018-01-17 23:14 ` [PATCH v2 00/14] " Doug Ledford
[not found] ` <1516230870.3403.292.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-01-30 0:23 ` Bart Van Assche
[not found] ` <1517271807.2687.65.camel-Sjgp3cTcYWE@public.gmane.org>
2018-01-30 17:43 ` Doug Ledford
[not found] ` <1517334206.27592.291.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-01-30 18:19 ` Bart Van Assche [this message]
[not found] ` <1517336389.2589.22.camel-Sjgp3cTcYWE@public.gmane.org>
2018-01-30 22:29 ` Doug Ledford
[not found] ` <1517351373.19117.6.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-02-12 18:04 ` Bart Van Assche
2018-01-17 23:33 ` Doug Ledford
[not found] ` <1516231986.3403.296.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-01-17 23:41 ` Bart Van Assche
[not found] ` <1516232517.2820.93.camel-Sjgp3cTcYWE@public.gmane.org>
2018-01-18 1:34 ` Doug Ledford
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=1517336389.2589.22.camel@wdc.com \
--to=bart.vanassche-sjgp3ctcywe@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=jgg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.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.