Message ID | 20191230102942.18395-14-jinpuwang@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | RTRS (former IBTRS) rdma transport library and RNBD (former IBNBD) rdma network block device | expand |
On 12/30/19 2:29 AM, Jack Wang wrote: > +config INFINIBAND_RTRS > + tristate > + depends on INFINIBAND_ADDR_TRANS > + > +config INFINIBAND_RTRS_CLIENT > + tristate "RTRS client module" > + depends on INFINIBAND_ADDR_TRANS > + select INFINIBAND_RTRS > + help > + RDMA transport client module. > + > + RTRS client allows for simplified data transfer and connection > + establishment over RDMA (InfiniBand, RoCE, iWarp). Uses BIO-like > + READ/WRITE semantics and provides multipath capabilities. What does "simplified" mean in this context? I'm concerned that including that word will cause confusion. How about writing that RTRS implements a reliable transport layer and also multipathing functionality and that it is intended to be the base layer for a block storage initiator over RDMA? > +config INFINIBAND_RTRS_SERVER > + tristate "RTRS server module" > + depends on INFINIBAND_ADDR_TRANS > + select INFINIBAND_RTRS > + help > + RDMA transport server module. > + > + RTRS server module processing connection and IO requests received > + from the RTRS client module, it will pass the IO requests to its > + user eg. RNBD_server. Users who see these help texts will be left wondering what RTRS stands for. Please add some text that explains what the RTRS abbreviation stands for. Thanks, Bart.
On Thu, Jan 2, 2020 at 11:11 PM Bart Van Assche <bvanassche@acm.org> wrote: > > On 12/30/19 2:29 AM, Jack Wang wrote: > > +config INFINIBAND_RTRS > > + tristate > > + depends on INFINIBAND_ADDR_TRANS > > + > > +config INFINIBAND_RTRS_CLIENT > > + tristate "RTRS client module" > > + depends on INFINIBAND_ADDR_TRANS > > + select INFINIBAND_RTRS > > + help > > + RDMA transport client module. > > + > > + RTRS client allows for simplified data transfer and connection > > + establishment over RDMA (InfiniBand, RoCE, iWarp). Uses BIO-like > > + READ/WRITE semantics and provides multipath capabilities. > > What does "simplified" mean in this context? I'm concerned that > including that word will cause confusion. How about writing that RTRS > implements a reliable transport layer and also multipathing > functionality and that it is intended to be the base layer for a block > storage initiator over RDMA? Sounds fine, will explains what the RTRS abbreviation > > > +config INFINIBAND_RTRS_SERVER > > + tristate "RTRS server module" > > + depends on INFINIBAND_ADDR_TRANS > > + select INFINIBAND_RTRS > > + help > > + RDMA transport server module. > > + > > + RTRS server module processing connection and IO requests received > > + from the RTRS client module, it will pass the IO requests to its > > + user eg. RNBD_server. > > Users who see these help texts will be left wondering what RTRS stands > for. Please add some text that explains what the RTRS abbreviation > stands for. > > Thanks, > > Bart. Thanks.
diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig index ade86388434f..477418b37786 100644 --- a/drivers/infiniband/Kconfig +++ b/drivers/infiniband/Kconfig @@ -107,6 +107,7 @@ source "drivers/infiniband/ulp/srpt/Kconfig" source "drivers/infiniband/ulp/iser/Kconfig" source "drivers/infiniband/ulp/isert/Kconfig" +source "drivers/infiniband/ulp/rtrs/Kconfig" source "drivers/infiniband/ulp/opa_vnic/Kconfig" diff --git a/drivers/infiniband/ulp/Makefile b/drivers/infiniband/ulp/Makefile index 437813c7b481..4d0004b58377 100644 --- a/drivers/infiniband/ulp/Makefile +++ b/drivers/infiniband/ulp/Makefile @@ -5,3 +5,4 @@ obj-$(CONFIG_INFINIBAND_SRPT) += srpt/ obj-$(CONFIG_INFINIBAND_ISER) += iser/ obj-$(CONFIG_INFINIBAND_ISERT) += isert/ obj-$(CONFIG_INFINIBAND_OPA_VNIC) += opa_vnic/ +obj-$(CONFIG_INFINIBAND_RTRS) += rtrs/ diff --git a/drivers/infiniband/ulp/rtrs/Kconfig b/drivers/infiniband/ulp/rtrs/Kconfig new file mode 100644 index 000000000000..1d6c670a4504 --- /dev/null +++ b/drivers/infiniband/ulp/rtrs/Kconfig @@ -0,0 +1,27 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +config INFINIBAND_RTRS + tristate + depends on INFINIBAND_ADDR_TRANS + +config INFINIBAND_RTRS_CLIENT + tristate "RTRS client module" + depends on INFINIBAND_ADDR_TRANS + select INFINIBAND_RTRS + help + RDMA transport client module. + + RTRS client allows for simplified data transfer and connection + establishment over RDMA (InfiniBand, RoCE, iWarp). Uses BIO-like + READ/WRITE semantics and provides multipath capabilities. + +config INFINIBAND_RTRS_SERVER + tristate "RTRS server module" + depends on INFINIBAND_ADDR_TRANS + select INFINIBAND_RTRS + help + RDMA transport server module. + + RTRS server module processing connection and IO requests received + from the RTRS client module, it will pass the IO requests to its + user eg. RNBD_server. diff --git a/drivers/infiniband/ulp/rtrs/Makefile b/drivers/infiniband/ulp/rtrs/Makefile new file mode 100644 index 000000000000..89332be15c9e --- /dev/null +++ b/drivers/infiniband/ulp/rtrs/Makefile @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +rtrs-client-y := rtrs-clt.o \ + rtrs-clt-stats.o \ + rtrs-clt-sysfs.o + +rtrs-server-y := rtrs-srv.o \ + rtrs-srv-stats.o \ + rtrs-srv-sysfs.o + +rtrs-core-y := rtrs.o + +obj-$(CONFIG_INFINIBAND_RTRS) += rtrs-core.o +obj-$(CONFIG_INFINIBAND_RTRS_CLIENT) += rtrs-client.o +obj-$(CONFIG_INFINIBAND_RTRS_SERVER) += rtrs-server.o + +-include $(src)/compat/compat.mk