All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
@ 2014-03-26 22:07 Tatyana Nikolova
  2014-05-02 15:35 ` Steve Wise
                   ` (3 more replies)
  0 siblings, 4 replies; 22+ messages in thread
From: Tatyana Nikolova @ 2014-03-26 22:07 UTC (permalink / raw)
  To: Roland Dreier
  Cc: john.s.lacombe-ral2JQCrhuEAvxtiuMwx3w,
	swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW,
	peter.p.waskiewicz.jr-ral2JQCrhuEAvxtiuMwx3w,
	sean.hefty-ral2JQCrhuEAvxtiuMwx3w,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA


Hello All,

This patch series adds iWARP Port Mapper (IWPM) Version 2 support
in RDMA/core, RDMA/nes driver and RDMA/cxgb4 driver.
The iWARP Port Mapper implementation is based on the port mapper specification
section in the Sockets Direct Protocol paper -
http://www.rdmaconsortium.org/home/draft-pinkerton-iwarp-sdp-v1.0.pdf 

Existing iWARP RDMA providers use the same IP address as the native TCP/IP
stack when creating RDMA connections. They need to ensure a mechanism to claim 
the TCP ports used for RDMA connections, thereby preventing TCP port collisions
when other host applications are consuming TCP ports. The iWARP Port Mapper
provides a standard mechanism to accomplish this. Without this service it is
possible for RDMA application to bind/listen on the same port which is already
being used by native TCP host application. If that happens the incoming TCP
connection data can be passed to the RDMA stack with error.

The iWARP Port Mapper solution doesn't contain any changes to the existing
network stack in the kernel space. All the changes are contained with the
infiniband tree and also in user space.

The iWARP Port Mapper service is implemented as a user space daemon process.
Interested readers could look at the source code of the IWPM service located at
http://git.openfabrics.org/git?p=~tnikolova/libiwpm-1.0.0/.git;a=summary

The iWARP driver (port mapper client) sends to the IWPM service the local IP
address and TCP port it has received from the RDMA application, when starting a
connection. The IWPM service performs a socket bind from user space to get
an available TCP port, called a mapped port, and communicates it back to the
client. In that sense, the IWPM service is used to map the TCP port, which the
RDMA application uses to any port available from the host TCP port space. The
mapped ports are used in iWARP RDMA connections to avoid collisions with native
TCP stack which is aware that these ports are taken. When an RDMA connection
using a mapped port is terminated, the client notifies the IWPM service, which
then releases the TCP port.

The message exchange between the IWPM service and the iWARP drivers
(between user space and kernel space) is implemented using netlink sockets.

This patch series adds iWarp driver support for sending/receiving/parsing
netlink messages, to make the communication with the IWPM service possible.

This is the second submission for the iWarp Port Mapper and
we have considered and incorporated feedback after the first submission
to improve the IWPM Version 2 patch series.

The following items are improvements and fixes to IWPM V2:

1) The IWPM functionality, common for both iWarp drivers (nes and cxgb4)
   is refactored from the drivers source files and is moved to new shared
   files in infiniband/core which are compiled as part of the iw_cm module.

2) Hash table data structure is implemented to store the drivers mapping
   information and enable efficient searching. (Hash table implementation
   is based on original work by Vipul Pandya)

3) Fix for a timer bug is provided as the unnecessary timer scheduling is
   removed.

The patches are built against Roland's infiniband tree for-next branch.

Thank you,

Tatyana Nikolova (2):
  RDMA/core: Add support for iWarp Port Mapper V2 user space service
  RDMA/nes: Add support for iWarp Port Mapper V2 user space service
Steve Wise (1):
  RDMA/cxgb4: Add support for iWarp Port Mapper V2 user space service

 drivers/infiniband/core/Makefile       |    2 +-
 drivers/infiniband/core/cma.c          |    3 +-
 drivers/infiniband/core/iwpm_msg.c     |  691 ++++++++++++++++++++++++++++++++
 drivers/infiniband/core/iwpm_util.c    |  609 ++++++++++++++++++++++++++++
 drivers/infiniband/core/iwpm_util.h    |  238 +++++++++++
 drivers/infiniband/core/netlink.c      |   18 +-
 drivers/infiniband/hw/cxgb4/cm.c       |  180 +++++++--
 drivers/infiniband/hw/cxgb4/device.c   |   81 ++++-
 drivers/infiniband/hw/cxgb4/iw_cxgb4.h |   44 ++
 drivers/infiniband/hw/nes/nes.c        |   25 ++-
 drivers/infiniband/hw/nes/nes.h        |    3 +
 drivers/infiniband/hw/nes/nes_cm.c     |  320 ++++++++++++---
 drivers/infiniband/hw/nes/nes_cm.h     |   12 +-
 include/rdma/iw_portmap.h              |  199 +++++++++
 include/rdma/rdma_netlink.h            |   23 +-
 include/uapi/rdma/rdma_netlink.h       |   96 +++++-
 16 files changed, 2431 insertions(+), 113 deletions(-)
 create mode 100644 drivers/infiniband/core/iwpm_msg.c
 create mode 100644 drivers/infiniband/core/iwpm_util.c
 create mode 100644 drivers/infiniband/core/iwpm_util.h
 create mode 100644 include/rdma/iw_portmap.h

--
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] 22+ messages in thread

* RE: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
  2014-03-26 22:07 [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview Tatyana Nikolova
@ 2014-05-02 15:35 ` Steve Wise
  2014-05-20  1:10 ` Roland Dreier
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 22+ messages in thread
From: Steve Wise @ 2014-05-02 15:35 UTC (permalink / raw)
  To: 'Tatyana Nikolova', 'Roland Dreier'
  Cc: john.s.lacombe-ral2JQCrhuEAvxtiuMwx3w,
	peter.p.waskiewicz.jr-ral2JQCrhuEAvxtiuMwx3w,
	sean.hefty-ral2JQCrhuEAvxtiuMwx3w,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA

Any review comments on this?


> -----Original Message-----
> From: Tatyana Nikolova [mailto:Tatyana.E.Nikolova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org]
> Sent: Wednesday, March 26, 2014 5:07 PM
> To: Roland Dreier
> Cc: john.s.lacombe-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org; swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org;
> peter.p.waskiewicz.jr-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org; sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org; linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Subject: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
> 
> 
> Hello All,
> 
> This patch series adds iWARP Port Mapper (IWPM) Version 2 support
> in RDMA/core, RDMA/nes driver and RDMA/cxgb4 driver.
> The iWARP Port Mapper implementation is based on the port mapper specification
> section in the Sockets Direct Protocol paper -
> http://www.rdmaconsortium.org/home/draft-pinkerton-iwarp-sdp-v1.0.pdf
> 
> Existing iWARP RDMA providers use the same IP address as the native TCP/IP
> stack when creating RDMA connections. They need to ensure a mechanism to claim
> the TCP ports used for RDMA connections, thereby preventing TCP port collisions
> when other host applications are consuming TCP ports. The iWARP Port Mapper
> provides a standard mechanism to accomplish this. Without this service it is
> possible for RDMA application to bind/listen on the same port which is already
> being used by native TCP host application. If that happens the incoming TCP
> connection data can be passed to the RDMA stack with error.
> 
> The iWARP Port Mapper solution doesn't contain any changes to the existing
> network stack in the kernel space. All the changes are contained with the
> infiniband tree and also in user space.
> 
> The iWARP Port Mapper service is implemented as a user space daemon process.
> Interested readers could look at the source code of the IWPM service located at
> http://git.openfabrics.org/git?p=~tnikolova/libiwpm-1.0.0/.git;a=summary
> 
> The iWARP driver (port mapper client) sends to the IWPM service the local IP
> address and TCP port it has received from the RDMA application, when starting a
> connection. The IWPM service performs a socket bind from user space to get
> an available TCP port, called a mapped port, and communicates it back to the
> client. In that sense, the IWPM service is used to map the TCP port, which the
> RDMA application uses to any port available from the host TCP port space. The
> mapped ports are used in iWARP RDMA connections to avoid collisions with native
> TCP stack which is aware that these ports are taken. When an RDMA connection
> using a mapped port is terminated, the client notifies the IWPM service, which
> then releases the TCP port.
> 
> The message exchange between the IWPM service and the iWARP drivers
> (between user space and kernel space) is implemented using netlink sockets.
> 
> This patch series adds iWarp driver support for sending/receiving/parsing
> netlink messages, to make the communication with the IWPM service possible.
> 
> This is the second submission for the iWarp Port Mapper and
> we have considered and incorporated feedback after the first submission
> to improve the IWPM Version 2 patch series.
> 
> The following items are improvements and fixes to IWPM V2:
> 
> 1) The IWPM functionality, common for both iWarp drivers (nes and cxgb4)
>    is refactored from the drivers source files and is moved to new shared
>    files in infiniband/core which are compiled as part of the iw_cm module.
> 
> 2) Hash table data structure is implemented to store the drivers mapping
>    information and enable efficient searching. (Hash table implementation
>    is based on original work by Vipul Pandya)
> 
> 3) Fix for a timer bug is provided as the unnecessary timer scheduling is
>    removed.
> 
> The patches are built against Roland's infiniband tree for-next branch.
> 
> Thank you,
> 
> Tatyana Nikolova (2):
>   RDMA/core: Add support for iWarp Port Mapper V2 user space service
>   RDMA/nes: Add support for iWarp Port Mapper V2 user space service
> Steve Wise (1):
>   RDMA/cxgb4: Add support for iWarp Port Mapper V2 user space service
> 
>  drivers/infiniband/core/Makefile       |    2 +-
>  drivers/infiniband/core/cma.c          |    3 +-
>  drivers/infiniband/core/iwpm_msg.c     |  691 ++++++++++++++++++++++++++++++++
>  drivers/infiniband/core/iwpm_util.c    |  609 ++++++++++++++++++++++++++++
>  drivers/infiniband/core/iwpm_util.h    |  238 +++++++++++
>  drivers/infiniband/core/netlink.c      |   18 +-
>  drivers/infiniband/hw/cxgb4/cm.c       |  180 +++++++--
>  drivers/infiniband/hw/cxgb4/device.c   |   81 ++++-
>  drivers/infiniband/hw/cxgb4/iw_cxgb4.h |   44 ++
>  drivers/infiniband/hw/nes/nes.c        |   25 ++-
>  drivers/infiniband/hw/nes/nes.h        |    3 +
>  drivers/infiniband/hw/nes/nes_cm.c     |  320 ++++++++++++---
>  drivers/infiniband/hw/nes/nes_cm.h     |   12 +-
>  include/rdma/iw_portmap.h              |  199 +++++++++
>  include/rdma/rdma_netlink.h            |   23 +-
>  include/uapi/rdma/rdma_netlink.h       |   96 +++++-
>  16 files changed, 2431 insertions(+), 113 deletions(-)
>  create mode 100644 drivers/infiniband/core/iwpm_msg.c
>  create mode 100644 drivers/infiniband/core/iwpm_util.c
>  create mode 100644 drivers/infiniband/core/iwpm_util.h
>  create mode 100644 include/rdma/iw_portmap.h

--
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] 22+ messages in thread

* Re: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
  2014-03-26 22:07 [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview Tatyana Nikolova
  2014-05-02 15:35 ` Steve Wise
@ 2014-05-20  1:10 ` Roland Dreier
       [not found]   ` <CAL1RGDWNr53rXY_o2X7R76aVHtAH_EnK6DZk19N5fGoW1pOAdQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  2014-05-20  7:47 ` Or Gerlitz
  2014-06-08 19:34 ` Or Gerlitz
  3 siblings, 1 reply; 22+ messages in thread
From: Roland Dreier @ 2014-05-20  1:10 UTC (permalink / raw)
  To: Tatyana Nikolova
  Cc: Lacombe, John S, Steve Wise, Sean Hefty,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA

On Wed, Mar 26, 2014 at 3:07 PM, Tatyana Nikolova
<Tatyana.E.Nikolova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote:
> 1) The IWPM functionality, common for both iWarp drivers (nes and cxgb4)
>    is refactored from the drivers source files and is moved to new shared
>    files in infiniband/core which are compiled as part of the iw_cm module.


So I'm looking to include this for 3.16.  One question: I assume
unpatched iwarp drivers (eg cxgb3) continue to work as before?  In
other words they don't get the new port mapper support but at least
they don't regress?

 - R.
--
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] 22+ messages in thread

* Re: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
  2014-03-26 22:07 [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview Tatyana Nikolova
  2014-05-02 15:35 ` Steve Wise
  2014-05-20  1:10 ` Roland Dreier
@ 2014-05-20  7:47 ` Or Gerlitz
       [not found]   ` <001a01cf7431$f6d41f30$e47c5d90$@opengridcomputing.com>
  2014-06-08 19:34 ` Or Gerlitz
  3 siblings, 1 reply; 22+ messages in thread
From: Or Gerlitz @ 2014-05-20  7:47 UTC (permalink / raw)
  To: Tatyana Nikolova, peter.p.waskiewicz.jr-ral2JQCrhuEAvxtiuMwx3w
  Cc: Roland Dreier, john.s.lacombe-ral2JQCrhuEAvxtiuMwx3w,
	swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW,
	sean.hefty-ral2JQCrhuEAvxtiuMwx3w,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA

On 27/03/2014 00:08, Tatyana Nikolova wrote:
> This patch series adds iWARP Port Mapper (IWPM) Version 2 support
> in RDMA/core, RDMA/nes driver and RDMA/cxgb4 driver.

Guys, the link here 
http://vger.kernel.org/netconf2011_slides/pj_netconf2011.ppt
seems to point to a damaged PPT, can you send me updated copy

--
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] 22+ messages in thread

* RE: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
       [not found]   ` <CAL1RGDWNr53rXY_o2X7R76aVHtAH_EnK6DZk19N5fGoW1pOAdQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2014-05-20 13:45     ` Steve Wise
  2014-05-20 17:46       ` Nikolova, Tatyana E
  2014-06-03 20:20     ` Or Gerlitz
  1 sibling, 1 reply; 22+ messages in thread
From: Steve Wise @ 2014-05-20 13:45 UTC (permalink / raw)
  To: 'Roland Dreier', 'Tatyana Nikolova'
  Cc: 'Lacombe, John S', 'Sean Hefty',
	linux-rdma-u79uwXL29TY76Z2rM5mHXA, 'Doug Ledford'



> -----Original Message-----
> From: linux-rdma-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org [mailto:linux-rdma-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org] On
> Behalf Of Roland Dreier
> Sent: Monday, May 19, 2014 8:10 PM
> To: Tatyana Nikolova
> Cc: Lacombe, John S; Steve Wise; Sean Hefty; linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Subject: Re: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
> 
> On Wed, Mar 26, 2014 at 3:07 PM, Tatyana Nikolova
> <Tatyana.E.Nikolova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote:
> > 1) The IWPM functionality, common for both iWarp drivers (nes and cxgb4)
> >    is refactored from the drivers source files and is moved to new shared
> >    files in infiniband/core which are compiled as part of the iw_cm module.
> 
> 
> So I'm looking to include this for 3.16.  One question: I assume
> unpatched iwarp drivers (eg cxgb3) continue to work as before?  In
> other words they don't get the new port mapper support but at least
> they don't regress?
> 

Hey Roland,

cxgb3<->cxgb3 would behave as before; no regression.  cxgb3<->cxgb4/nes would interoperate only if the port mapping service is disabled on the cxgb4/nes nodes.  

Steve.

--
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] 22+ messages in thread

* Re: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
       [not found]   ` <001a01cf7431$f6d41f30$e47c5d90$@opengridcomputing.com>
@ 2014-05-20 13:59     ` Or Gerlitz
  0 siblings, 0 replies; 22+ messages in thread
From: Or Gerlitz @ 2014-05-20 13:59 UTC (permalink / raw)
  To: Steve Wise, 'Tatyana Nikolova',
	peter.p.waskiewicz.jr-ral2JQCrhuEAvxtiuMwx3w
  Cc: 'Roland Dreier',
	john.s.lacombe-ral2JQCrhuEAvxtiuMwx3w,
	sean.hefty-ral2JQCrhuEAvxtiuMwx3w,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA

On 20/05/2014 16:46, Steve Wise wrote:
>   But here is it attached
thanks
--
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] 22+ messages in thread

* RE: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
  2014-05-20 13:45     ` Steve Wise
@ 2014-05-20 17:46       ` Nikolova, Tatyana E
  0 siblings, 0 replies; 22+ messages in thread
From: Nikolova, Tatyana E @ 2014-05-20 17:46 UTC (permalink / raw)
  To: 'Roland Dreier'
  Cc: Lacombe, John S, Hefty, Sean, linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	'Doug Ledford',
	Steve Wise

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 1750 bytes --]

Hello Rolland,

Thanks for reviewing the port mapper patches.

Steve's reply is correct. 
Unpatched nes will not regress and will continue working as before. 

Tatyana

-----Original Message-----
From: Steve Wise [mailto:swise@opengridcomputing.com] 
Sent: Tuesday, May 20, 2014 8:45 AM
To: 'Roland Dreier'; Nikolova, Tatyana E
Cc: Lacombe, John S; Hefty, Sean; linux-rdma@vger.kernel.org; 'Doug Ledford'
Subject: RE: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview



> -----Original Message-----
> From: linux-rdma-owner@vger.kernel.org 
> [mailto:linux-rdma-owner@vger.kernel.org] On Behalf Of Roland Dreier
> Sent: Monday, May 19, 2014 8:10 PM
> To: Tatyana Nikolova
> Cc: Lacombe, John S; Steve Wise; Sean Hefty; 
> linux-rdma@vger.kernel.org
> Subject: Re: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
> 
> On Wed, Mar 26, 2014 at 3:07 PM, Tatyana Nikolova 
> <Tatyana.E.Nikolova@intel.com> wrote:
> > 1) The IWPM functionality, common for both iWarp drivers (nes and cxgb4)
> >    is refactored from the drivers source files and is moved to new shared
> >    files in infiniband/core which are compiled as part of the iw_cm module.
> 
> 
> So I'm looking to include this for 3.16.  One question: I assume 
> unpatched iwarp drivers (eg cxgb3) continue to work as before?  In 
> other words they don't get the new port mapper support but at least 
> they don't regress?
> 

Hey Roland,

cxgb3<->cxgb3 would behave as before; no regression.  cxgb3<->cxgb4/nes would interoperate only if the port mapping service is disabled on the cxgb4/nes nodes.  

Steve.

N‹§²æìr¸›yúèšØb²X¬¶Ç§vØ^–)Þº{.nÇ+‰·¥Š{±­ÙšŠ{ayº\x1dʇڙë,j\a­¢f£¢·hš‹»öì\x17/oSc¾™Ú³9˜uÀ¦æå‰È&jw¨®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿïêäz¹Þ–Šàþf£¢·hšˆ§~ˆmš

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

* Re: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
       [not found]   ` <CAL1RGDWNr53rXY_o2X7R76aVHtAH_EnK6DZk19N5fGoW1pOAdQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  2014-05-20 13:45     ` Steve Wise
@ 2014-06-03 20:20     ` Or Gerlitz
  1 sibling, 0 replies; 22+ messages in thread
From: Or Gerlitz @ 2014-06-03 20:20 UTC (permalink / raw)
  To: Roland Dreier
  Cc: Tatyana Nikolova, Lacombe, John S, linux-rdma-u79uwXL29TY76Z2rM5mHXA

On Tue, May 20, 2014 at 4:10 AM, Roland Dreier <roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> wrote:

> So I'm looking to include this for 3.16.

Roland, can you reword these patches and remove Peter's email address,
it bounces back (just tried it, SB) and I don't see the point to
introduce an email in a  signature which is broken from day one.

Or.

Delivery to the following recipient failed permanently:

     peter.p.waskiewicz.jr-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org

Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the
server for the recipient domain intel.com by mga01.intel.com.
[192.55.52.88].

The error that the other server returned was:
550 #5.1.0 Address rejected.
--
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] 22+ messages in thread

* Re: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
  2014-03-26 22:07 [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview Tatyana Nikolova
                   ` (2 preceding siblings ...)
  2014-05-20  7:47 ` Or Gerlitz
@ 2014-06-08 19:34 ` Or Gerlitz
       [not found]   ` <CAJZOPZ+E0sX6-_tT2DrbLvRvrHWvEcO5KtMGwZqhuoQeTqrrMg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  3 siblings, 1 reply; 22+ messages in thread
From: Or Gerlitz @ 2014-06-08 19:34 UTC (permalink / raw)
  To: Tatyana Nikolova, Steve Wise
  Cc: Roland Dreier, Lacombe, John S, Sean Hefty, linux-rdma, Jason Gunthorpe

Tatyana Nikolova <Tatyana.E.Nikolova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote:

> This patch series adds iWARP Port Mapper (IWPM) Version 2 support
> in RDMA/core, RDMA/nes driver and RDMA/cxgb4 driver.

Hi Steve, Tatyana

Reading this cover letter, I think it's good idea to follow Steve's
suggestion and add portions from here into the IB/core change you
introduced (patch #1 in this series) and is now merged into Roland's
for-next -- before Roland's sends his 3.16 merge window pull request
to Linus (there is enough time!!), since the current change-log
http://git.kernel.org/cgit/linux/kernel/git/roland/infiniband.git/commit/?h=for-next&id=1943d56776ad31a119517efeb309786db3b4383e
practically says nothing on what is the PM about

2nd, there's nothing specific to iWARP in the port mapper implementation, right?

What it does is the following:

1. kernel rdma driver tells a user space daemon they want to reserve
(claim) the combination of IP address X and TCP port Y for the sake of
RDMA connections

2. user space daemon opens a socket and binds to X:Y

Specifically, down the road, more use cases, not only the current
iWARP case may pop up.

So taking into account that the implementation doesn't have anything
whivh is IW specific, and that future non-IW use case might show up,
why we need to fill the IB core code with IW_PM notation? why not just
use RDMA_PM notation? this can be achieved quickly with

$ sed -i g/iw_pm/rdma_pm/g *

and friends on Roland's tree and later squashed into the relevant patches.

I understand that my comment came little late... but taking into
account the ease of the change (sed exercise), why not doing it? the
IB core patch exposes API to user-space, so we should make sure to do
it right

Or.


> The iWARP Port Mapper implementation is based on the port mapper specification
> section in the Sockets Direct Protocol paper -
> http://www.rdmaconsortium.org/home/draft-pinkerton-iwarp-sdp-v1.0.pdf
>
> Existing iWARP RDMA providers use the same IP address as the native TCP/IP
> stack when creating RDMA connections. They need to ensure a mechanism to claim
> the TCP ports used for RDMA connections, thereby preventing TCP port collisions
> when other host applications are consuming TCP ports. The iWARP Port Mapper
> provides a standard mechanism to accomplish this. Without this service it is
> possible for RDMA application to bind/listen on the same port which is already
> being used by native TCP host application. If that happens the incoming TCP
> connection data can be passed to the RDMA stack with error.
>
> The iWARP Port Mapper solution doesn't contain any changes to the existing
> network stack in the kernel space. All the changes are contained with the
> infiniband tree and also in user space.
>
> The iWARP Port Mapper service is implemented as a user space daemon process.
> Interested readers could look at the source code of the IWPM service located at
> http://git.openfabrics.org/git?p=~tnikolova/libiwpm-1.0.0/.git;a=summary
>
> The iWARP driver (port mapper client) sends to the IWPM service the local IP
> address and TCP port it has received from the RDMA application, when starting a
> connection. The IWPM service performs a socket bind from user space to get
> an available TCP port, called a mapped port, and communicates it back to the
> client. In that sense, the IWPM service is used to map the TCP port, which the
> RDMA application uses to any port available from the host TCP port space. The
> mapped ports are used in iWARP RDMA connections to avoid collisions with native
> TCP stack which is aware that these ports are taken. When an RDMA connection
> using a mapped port is terminated, the client notifies the IWPM service, which
> then releases the TCP port.
>
> The message exchange between the IWPM service and the iWARP drivers
> (between user space and kernel space) is implemented using netlink sockets.
>
> This patch series adds iWarp driver support for sending/receiving/parsing
> netlink messages, to make the communication with the IWPM service possible.
>
> This is the second submission for the iWarp Port Mapper and
> we have considered and incorporated feedback after the first submission
> to improve the IWPM Version 2 patch series.
>
> The following items are improvements and fixes to IWPM V2:
>
> 1) The IWPM functionality, common for both iWarp drivers (nes and cxgb4)
>    is refactored from the drivers source files and is moved to new shared
>    files in infiniband/core which are compiled as part of the iw_cm module.
>
> 2) Hash table data structure is implemented to store the drivers mapping
>    information and enable efficient searching. (Hash table implementation
>    is based on original work by Vipul Pandya)
>
> 3) Fix for a timer bug is provided as the unnecessary timer scheduling is
>    removed.
>
> The patches are built against Roland's infiniband tree for-next branch.
>
> Thank you,
>
> Tatyana Nikolova (2):
>   RDMA/core: Add support for iWarp Port Mapper V2 user space service
>   RDMA/nes: Add support for iWarp Port Mapper V2 user space service
> Steve Wise (1):
>   RDMA/cxgb4: Add support for iWarp Port Mapper V2 user space service
>
>  drivers/infiniband/core/Makefile       |    2 +-
>  drivers/infiniband/core/cma.c          |    3 +-
>  drivers/infiniband/core/iwpm_msg.c     |  691 ++++++++++++++++++++++++++++++++
>  drivers/infiniband/core/iwpm_util.c    |  609 ++++++++++++++++++++++++++++
>  drivers/infiniband/core/iwpm_util.h    |  238 +++++++++++
>  drivers/infiniband/core/netlink.c      |   18 +-
>  drivers/infiniband/hw/cxgb4/cm.c       |  180 +++++++--
>  drivers/infiniband/hw/cxgb4/device.c   |   81 ++++-
>  drivers/infiniband/hw/cxgb4/iw_cxgb4.h |   44 ++
>  drivers/infiniband/hw/nes/nes.c        |   25 ++-
>  drivers/infiniband/hw/nes/nes.h        |    3 +
>  drivers/infiniband/hw/nes/nes_cm.c     |  320 ++++++++++++---
>  drivers/infiniband/hw/nes/nes_cm.h     |   12 +-
>  include/rdma/iw_portmap.h              |  199 +++++++++
>  include/rdma/rdma_netlink.h            |   23 +-
>  include/uapi/rdma/rdma_netlink.h       |   96 +++++-
>  16 files changed, 2431 insertions(+), 113 deletions(-)
>  create mode 100644 drivers/infiniband/core/iwpm_msg.c
>  create mode 100644 drivers/infiniband/core/iwpm_util.c
>  create mode 100644 drivers/infiniband/core/iwpm_util.h
>  create mode 100644 include/rdma/iw_portmap.h
>
> --
> 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
--
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] 22+ messages in thread

* RE: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
       [not found]   ` <CAJZOPZ+E0sX6-_tT2DrbLvRvrHWvEcO5KtMGwZqhuoQeTqrrMg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2014-06-09 14:46     ` Steve Wise
  2014-06-09 16:51     ` Jason Gunthorpe
  1 sibling, 0 replies; 22+ messages in thread
From: Steve Wise @ 2014-06-09 14:46 UTC (permalink / raw)
  To: 'Or Gerlitz', 'Tatyana Nikolova'
  Cc: 'Roland Dreier', 'Lacombe, John S',
	'Sean Hefty', 'linux-rdma',
	'Jason Gunthorpe'

> 
> Hi Steve, Tatyana
> 
> Reading this cover letter, I think it's good idea to follow Steve's
> suggestion and add portions from here into the IB/core change you
> introduced (patch #1 in this series) and is now merged into Roland's
> for-next -- before Roland's sends his 3.16 merge window pull request
> to Linus (there is enough time!!), since the current change-log
> http://git.kernel.org/cgit/linux/kernel/git/roland/infiniband.git/commit/?h=for-
> next&id=1943d56776ad31a119517efeb309786db3b4383e
> practically says nothing on what is the PM about
> 

Roland, can you do this?

> 2nd, there's nothing specific to iWARP in the port mapper implementation, right?
> 
> What it does is the following:
> 
> 1. kernel rdma driver tells a user space daemon they want to reserve
> (claim) the combination of IP address X and TCP port Y for the sake of
> RDMA connections
> 
> 2. user space daemon opens a socket and binds to X:Y
> 

No, the use space daemon opens a socket and binds to address X port 0 and thus allocates an ephemeral port number Z.  The mapping of X->Z is then made available to clients trying to connect to this service.

> Specifically, down the road, more use cases, not only the current
> iWARP case may pop up.
> 

It is really only needed for iWARP and not IB because IB doesn't share the port space with the host TCP stack.  iWARP does.

> So taking into account that the implementation doesn't have anything
> whivh is IW specific, and that future non-IW use case might show up,
> why we need to fill the IB core code with IW_PM notation? why not just
> use RDMA_PM notation? this can be achieved quickly with
> 
> $ sed -i g/iw_pm/rdma_pm/g *
> 
> and friends on Roland's tree and later squashed into the relevant patches.
> 
> I understand that my comment came little late... but taking into
> account the ease of the change (sed exercise), why not doing it? the
> IB core patch exposes API to user-space, so we should make sure to do
> it right
> 

I'm not convinced this is desirable.

Steve.

--
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] 22+ messages in thread

* Re: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
       [not found]   ` <CAJZOPZ+E0sX6-_tT2DrbLvRvrHWvEcO5KtMGwZqhuoQeTqrrMg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  2014-06-09 14:46     ` Steve Wise
@ 2014-06-09 16:51     ` Jason Gunthorpe
       [not found]       ` <20140609165105.GB1816-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
  1 sibling, 1 reply; 22+ messages in thread
From: Jason Gunthorpe @ 2014-06-09 16:51 UTC (permalink / raw)
  To: Or Gerlitz
  Cc: Tatyana Nikolova, Steve Wise, Roland Dreier, Lacombe, John S,
	Sean Hefty, linux-rdma

On Sun, Jun 08, 2014 at 10:34:30PM +0300, Or Gerlitz wrote:
> What it does is the following:
> 
> 1. kernel rdma driver tells a user space daemon they want to reserve
> (claim) the combination of IP address X and TCP port Y for the sake of
> RDMA connections
> 
> 2. user space daemon opens a socket and binds to X:Y
> 
> Specifically, down the road, more use cases, not only the current
> iWARP case may pop up.

This really seems horrible, using user space to circumvent the kernel
stack because kernel maintainers don't want this kind of integration
is not going to make people very happy.

IIRC the patch set that tried to do this directly in the kernel was
NAK'd, adding a userspace round trip doesn't really change anything.

The message from netdev has, IMHO, always been pretty clear - offload
can live in it's own little side world but cannot appear to the user
to be integrated to the main stack (because it isn't).

Jason
--
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] 22+ messages in thread

* Re: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
       [not found]       ` <20140609165105.GB1816-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
@ 2014-06-09 18:10         ` Christoph Lameter
       [not found]           ` <alpine.DEB.2.10.1406091307230.9663-gkYfJU5Cukgdnm+yROfE0A@public.gmane.org>
  2014-06-09 18:12         ` Steve Wise
  1 sibling, 1 reply; 22+ messages in thread
From: Christoph Lameter @ 2014-06-09 18:10 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: Or Gerlitz, Tatyana Nikolova, Steve Wise, Roland Dreier, Lacombe,
	John S, Sean Hefty, linux-rdma

On Mon, 9 Jun 2014, Jason Gunthorpe wrote:

> The message from netdev has, IMHO, always been pretty clear - offload
> can live in it's own little side world but cannot appear to the user
> to be integrated to the main stack (because it isn't).

Hmmm... The flow steering API already does what the port mapper does and
its already merged. Why do we need another implementation?



--
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] 22+ messages in thread

* RE: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
       [not found]       ` <20140609165105.GB1816-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
  2014-06-09 18:10         ` Christoph Lameter
@ 2014-06-09 18:12         ` Steve Wise
  2014-06-09 18:42           ` Jason Gunthorpe
  1 sibling, 1 reply; 22+ messages in thread
From: Steve Wise @ 2014-06-09 18:12 UTC (permalink / raw)
  To: 'Jason Gunthorpe', 'Or Gerlitz'
  Cc: 'Tatyana Nikolova', 'Roland Dreier',
	'Lacombe, John S', 'Sean Hefty',
	'linux-rdma'



> -----Original Message-----
> From: Jason Gunthorpe [mailto:jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org]
> Sent: Monday, June 09, 2014 11:51 AM
> To: Or Gerlitz
> Cc: Tatyana Nikolova; Steve Wise; Roland Dreier; Lacombe, John S; Sean Hefty; linux-rdma
> Subject: Re: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
> 
> On Sun, Jun 08, 2014 at 10:34:30PM +0300, Or Gerlitz wrote:
> > What it does is the following:
> >
> > 1. kernel rdma driver tells a user space daemon they want to reserve
> > (claim) the combination of IP address X and TCP port Y for the sake of
> > RDMA connections
> >
> > 2. user space daemon opens a socket and binds to X:Y
> >
> > Specifically, down the road, more use cases, not only the current
> > iWARP case may pop up.
> 
> This really seems horrible, using user space to circumvent the kernel
> stack because kernel maintainers don't want this kind of integration
> is not going to make people very happy.
> 
> IIRC the patch set that tried to do this directly in the kernel was
> NAK'd, adding a userspace round trip doesn't really change anything.
> 

The patch set you refer to tried to _unify_ the port space and was rejected.  The only
other alternative is to pick ephemeral ports and maintain a mapping for RDMA services.

> The message from netdev has, IMHO, always been pretty clear - offload
> can live in it's own little side world but cannot appear to the user
> to be integrated to the main stack (because it isn't).

That is what this design does...

Steve.

--
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] 22+ messages in thread

* RE: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
       [not found]           ` <alpine.DEB.2.10.1406091307230.9663-gkYfJU5Cukgdnm+yROfE0A@public.gmane.org>
@ 2014-06-09 18:13             ` Steve Wise
  2014-06-09 18:28               ` Christoph Lameter
  0 siblings, 1 reply; 22+ messages in thread
From: Steve Wise @ 2014-06-09 18:13 UTC (permalink / raw)
  To: 'Christoph Lameter', 'Jason Gunthorpe'
  Cc: 'Or Gerlitz', 'Tatyana Nikolova',
	'Roland Dreier', 'Lacombe, John S',
	'Sean Hefty', 'linux-rdma'



> -----Original Message-----
> From: Christoph Lameter [mailto:cl-gkYfJU5Cukgdnm+yROfE0A@public.gmane.org]
> Sent: Monday, June 09, 2014 1:11 PM
> To: Jason Gunthorpe
> Cc: Or Gerlitz; Tatyana Nikolova; Steve Wise; Roland Dreier; Lacombe, John S; Sean
Hefty;
> linux-rdma
> Subject: Re: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
> 
> On Mon, 9 Jun 2014, Jason Gunthorpe wrote:
> 
> > The message from netdev has, IMHO, always been pretty clear - offload
> > can live in it's own little side world but cannot appear to the user
> > to be integrated to the main stack (because it isn't).
> 
> Hmmm... The flow steering API already does what the port mapper does and
> its already merged. Why do we need another implementation?
> 

I don't see how the flow steering API does anything like the port mapping. 

Steve.


--
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] 22+ messages in thread

* RE: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
  2014-06-09 18:13             ` Steve Wise
@ 2014-06-09 18:28               ` Christoph Lameter
       [not found]                 ` <alpine.DEB.2.10.1406091326430.9663-gkYfJU5Cukgdnm+yROfE0A@public.gmane.org>
  0 siblings, 1 reply; 22+ messages in thread
From: Christoph Lameter @ 2014-06-09 18:28 UTC (permalink / raw)
  To: Steve Wise
  Cc: 'Jason Gunthorpe', 'Or Gerlitz',
	'Tatyana Nikolova', 'Roland Dreier',
	'Lacombe, John S', 'Sean Hefty',
	'linux-rdma'

On Mon, 9 Jun 2014, Steve Wise wrote:

> I don't see how the flow steering API does anything like the port mapping.

You can redirect flows with a particular port number. Thats the same as
port mappig right?

linux/include/rdma/ib_verbs.h:

struct ib_flow_spec_ipv4 {
        enum ib_flow_spec_type     type;
        u16                        size;
        struct ib_flow_ipv4_filter val;
        struct ib_flow_ipv4_filter mask;
};

struct ib_flow_tcp_udp_filter {
        __be16  dst_port;
        __be16  src_port;
};

struct ib_flow_spec_tcp_udp {
        enum ib_flow_spec_type        type;
        u16                           size;
        struct ib_flow_tcp_udp_filter val;
        struct ib_flow_tcp_udp_filter mask;
};

union ib_flow_spec {
        struct {
                enum ib_flow_spec_type  type;
                u16                     size;
        };
        struct ib_flow_spec_eth         eth;
        struct ib_flow_spec_ib          ib;
        struct ib_flow_spec_ipv4        ipv4;
        struct ib_flow_spec_tcp_udp     tcp_udp;
};

--
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] 22+ messages in thread

* RE: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
       [not found]                 ` <alpine.DEB.2.10.1406091326430.9663-gkYfJU5Cukgdnm+yROfE0A@public.gmane.org>
@ 2014-06-09 18:32                   ` Steve Wise
  0 siblings, 0 replies; 22+ messages in thread
From: Steve Wise @ 2014-06-09 18:32 UTC (permalink / raw)
  To: 'Christoph Lameter'
  Cc: 'Jason Gunthorpe', 'Or Gerlitz',
	'Tatyana Nikolova', 'Roland Dreier',
	'Lacombe, John S', 'Sean Hefty',
	'linux-rdma'



> -----Original Message-----
> From: Christoph Lameter [mailto:cl-gkYfJU5Cukgdnm+yROfE0A@public.gmane.org]
> Sent: Monday, June 09, 2014 1:28 PM
> To: Steve Wise
> Cc: 'Jason Gunthorpe'; 'Or Gerlitz'; 'Tatyana Nikolova'; 'Roland Dreier'; 'Lacombe, John
S';
> 'Sean Hefty'; 'linux-rdma'
> Subject: RE: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
> 
> On Mon, 9 Jun 2014, Steve Wise wrote:
> 
> > I don't see how the flow steering API does anything like the port mapping.
> 
> You can redirect flows with a particular port number. Thats the same as
> port mappig right?
> 

We don't want to redirect any flows.  We want to map "tcp" port numbers to ephemeral port
numbers so a offload iWARP connection 4-tuple doesn't collide with a host tcp connection
4-tuple. 

Steve.

--
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] 22+ messages in thread

* Re: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
  2014-06-09 18:12         ` Steve Wise
@ 2014-06-09 18:42           ` Jason Gunthorpe
       [not found]             ` <2ABFA3E36CBB794685BFBA191CC1964952C605CB@FMSMSX105.amr.corp.intel.com>
  0 siblings, 1 reply; 22+ messages in thread
From: Jason Gunthorpe @ 2014-06-09 18:42 UTC (permalink / raw)
  To: Steve Wise
  Cc: 'Or Gerlitz', 'Tatyana Nikolova',
	'Roland Dreier', 'Lacombe, John S',
	'Sean Hefty', 'linux-rdma'

On Mon, Jun 09, 2014 at 01:12:50PM -0500, Steve Wise wrote:

> > > 1. kernel rdma driver tells a user space daemon they want to reserve
> > > (claim) the combination of IP address X and TCP port Y for the sake of
> > > RDMA connections
> > >
> > > 2. user space daemon opens a socket and binds to X:Y
> > >
> > > Specifically, down the road, more use cases, not only the current
> > > iWARP case may pop up.
> > 
> > This really seems horrible, using user space to circumvent the kernel
> > stack because kernel maintainers don't want this kind of integration
> > is not going to make people very happy.
> > 
> > IIRC the patch set that tried to do this directly in the kernel was
> > NAK'd, adding a userspace round trip doesn't really change anything.

> The patch set you refer to tried to _unify_ the port space and was
> rejected.  The only other alternative is to pick ephemeral ports and
> maintain a mapping for RDMA services.

I thought both approaches were tried in kernel and NAK'd by netdev?
This looks very similar to the 2010 patchset, except the dummy socket
allocation is living in userspace in this version.

Again, from here, this looks like another patch to do an end-run
around netdev's NAK by hiding the offending stuff in userspace. That
is no good either...

> > The message from netdev has, IMHO, always been pretty clear - offload
> > can live in it's own little side world but cannot appear to the user
> > to be integrated to the main stack (because it isn't).
> 
> That is what this design does...

Not really, it is still sharing an IP used by the main stack,
otherwise you wouldn't have this problem in the first place.

Jason
--
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] 22+ messages in thread

* Re: FW: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
       [not found]               ` <2ABFA3E36CBB794685BFBA191CC1964952C605CB-AtyAts71sc9qS6EAlXoojrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
@ 2014-06-10  0:08                 ` PJ Waskiewicz
       [not found]                   ` <CAEmgqz2HtEJ1ho0rS4xR7ud6YgFfeAvR8uD8MgPjVhw=E9PFEg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 22+ messages in thread
From: PJ Waskiewicz @ 2014-06-10  0:08 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA, jgg-8fiUuRrzOP0dnm+yROfE0A
  Cc: Sharp, Robert O, tatyana.e.nikolova-ral2JQCrhuEAvxtiuMwx3w,
	john.s.lacombe-ral2JQCrhuEAvxtiuMwx3w,
	swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW,
	sean.hefty-ral2JQCrhuEAvxtiuMwx3w, roland-DgEjT+Ai2ygdnm+yROfE0A

> -----Original Message-----
> From: linux-rdma-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org [mailto:linux-rdma-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org] On Behalf Of Jason Gunthorpe
> Sent: Monday, June 09, 2014 1:42 PM
> To: Steve Wise
> Cc: 'Or Gerlitz'; Nikolova, Tatyana E; 'Roland Dreier'; Lacombe, John S; Hefty, Sean; 'linux-rdma'
> Subject: Re: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
>
> On Mon, Jun 09, 2014 at 01:12:50PM -0500, Steve Wise wrote:
>
> > > > 1. kernel rdma driver tells a user space daemon they want to
> > > > reserve
> > > > (claim) the combination of IP address X and TCP port Y for the
> > > > sake of RDMA connections
> > > >
> > > > 2. user space daemon opens a socket and binds to X:Y
> > > >
> > > > Specifically, down the road, more use cases, not only the current
> > > > iWARP case may pop up.
> > >
> > > This really seems horrible, using user space to circumvent the
> > > kernel stack because kernel maintainers don't want this kind of
> > > integration is not going to make people very happy.
> > >
> > > IIRC the patch set that tried to do this directly in the kernel was
> > > NAK'd, adding a userspace round trip doesn't really change anything.
>
> > The patch set you refer to tried to _unify_ the port space and was
> > rejected.  The only other alternative is to pick ephemeral ports and
> > maintain a mapping for RDMA services.
>
> I thought both approaches were tried in kernel and NAK'd by netdev?
> This looks very similar to the 2010 patchset, except the dummy socket allocation is living in userspace in this version.

This was something I presented and discussed at NetConf 2011 with
David and other netdev core folks:
http://vger.kernel.org/netconf2011.html.  The main issue David had
with the original approach was the socket was being consumed by
something else inside the kernel.  It circumvented the TCP socket
allocation/reservation code, which was frowned upon.

The compromise we came up with is the approach in this patchset.  As
long as the socket is claimed via userspace, David had no problem with
the approach.

> Again, from here, this looks like another patch to do an end-run around netdev's NAK by hiding the offending stuff in userspace. That is no good either...

See above.

> > > The message from netdev has, IMHO, always been pretty clear -
> > > offload can live in it's own little side world but cannot appear to
> > > the user to be integrated to the main stack (because it isn't).
> >
> > That is what this design does...
>
> Not really, it is still sharing an IP used by the main stack, otherwise you wouldn't have this problem in the first place.

The reason we didn't back down from having separate IP's is because
there are customers using iWARP that want the traffic converged, using
a single IP.  This approach is the best way we came up with as a
group, it just took a bit of time to get headcount onto it and
developed/tested.

Cheers,
-PJ
--
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] 22+ messages in thread

* Re: FW: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
       [not found]                   ` <CAEmgqz2HtEJ1ho0rS4xR7ud6YgFfeAvR8uD8MgPjVhw=E9PFEg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2014-06-10  6:10                     ` Or Gerlitz
       [not found]                       ` <5396A145.90504-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
  2014-06-10 16:52                     ` Jason Gunthorpe
  1 sibling, 1 reply; 22+ messages in thread
From: Or Gerlitz @ 2014-06-10  6:10 UTC (permalink / raw)
  To: PJ Waskiewicz, linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	jgg-8fiUuRrzOP0dnm+yROfE0A, roland-DgEjT+Ai2ygdnm+yROfE0A
  Cc: Sharp, Robert O, tatyana.e.nikolova-ral2JQCrhuEAvxtiuMwx3w,
	john.s.lacombe-ral2JQCrhuEAvxtiuMwx3w,
	swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW,
	sean.hefty-ral2JQCrhuEAvxtiuMwx3w

On 10/06/2014 03:08, PJ Waskiewicz wrote:
> This was something I presented and discussed at NetConf 2011 

Peter, the email address from your signature on the patches isn't 
functional anymore, is it OK
if the patches will be re-worded with this (or any other address you 
want to) one such that we don't
introduce (3.16) patches which has wrong email from day one? Roland, can 
you make that?

> with David and other netdev core folks: 
> http://vger.kernel.org/netconf2011.html. The main issue David had with 
> the original approach was the socket was being consumed by something 
> else inside the kernel. It circumvented the TCP socket 
> allocation/reservation code, which was frowned upon. The compromise we 
> came up with is the approach in this patchset. As long as the socket 
> is claimed via userspace, David had no problem with the approach. 

--
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] 22+ messages in thread

* Re: FW: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
       [not found]                       ` <5396A145.90504-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
@ 2014-06-10  7:03                         ` PJ Waskiewicz
  0 siblings, 0 replies; 22+ messages in thread
From: PJ Waskiewicz @ 2014-06-10  7:03 UTC (permalink / raw)
  To: Or Gerlitz
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, jgg-8fiUuRrzOP0dnm+yROfE0A,
	roland-DgEjT+Ai2ygdnm+yROfE0A, Sharp, Robert O,
	tatyana.e.nikolova-ral2JQCrhuEAvxtiuMwx3w,
	john.s.lacombe-ral2JQCrhuEAvxtiuMwx3w,
	swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW,
	sean.hefty-ral2JQCrhuEAvxtiuMwx3w

On Mon, Jun 9, 2014 at 11:10 PM, Or Gerlitz <ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> wrote:
>
> On 10/06/2014 03:08, PJ Waskiewicz wrote:
>>
>> This was something I presented and discussed at NetConf 2011
>
>
> Peter, the email address from your signature on the patches isn't functional anymore, is it OK
> if the patches will be re-worded with this (or any other address you want to) one such that we don't
> introduce (3.16) patches which has wrong email from day one? Roland, can you make that?

Hi Or,

Sorry about that, I made some changes (obviously) between when the
patches were finished up and sent and now.

You can add my new info:

Reviewed-by: PJ Waskiewicz <pj.waskiewicz-PrFOU5CTvK1l57MIdRCFDg@public.gmane.org>

Cheers,
-PJ
--
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] 22+ messages in thread

* Re: FW: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
       [not found]                   ` <CAEmgqz2HtEJ1ho0rS4xR7ud6YgFfeAvR8uD8MgPjVhw=E9PFEg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  2014-06-10  6:10                     ` Or Gerlitz
@ 2014-06-10 16:52                     ` Jason Gunthorpe
       [not found]                       ` <20140610165246.GA12951-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
  1 sibling, 1 reply; 22+ messages in thread
From: Jason Gunthorpe @ 2014-06-10 16:52 UTC (permalink / raw)
  To: PJ Waskiewicz
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Sharp, Robert O,
	tatyana.e.nikolova-ral2JQCrhuEAvxtiuMwx3w,
	john.s.lacombe-ral2JQCrhuEAvxtiuMwx3w,
	swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW,
	sean.hefty-ral2JQCrhuEAvxtiuMwx3w, roland-DgEjT+Ai2ygdnm+yROfE0A

On Mon, Jun 09, 2014 at 05:08:09PM -0700, PJ Waskiewicz wrote:
> > > The patch set you refer to tried to _unify_ the port space and was
> > > rejected.  The only other alternative is to pick ephemeral ports and
> > > maintain a mapping for RDMA services.
> >
> > I thought both approaches were tried in kernel and NAK'd by
> > netdev?  This looks very similar to the 2010 patchset, except the
> > dummy socket allocation is living in userspace in this version.
> 
> This was something I presented and discussed at NetConf 2011 with
> David and other netdev core folks:
> http://vger.kernel.org/netconf2011.html.  The main issue David had
> with the original approach was the socket was being consumed by
> something else inside the kernel.  It circumvented the TCP socket
> allocation/reservation code, which was frowned upon.

If you have/can get agreement from netdev that this is acceptable then
I think it is OK from the RDMA side. It would be a good touch to CC
the netdev list with the cover letter describing this mechanism
properly, maybe referencing this discussion just so there are no
surprises.

BTW, you can purge my jgg-8fiUuRrzOP0dnm+yROfE0A@public.gmane.org email from your address book,
that hasn't worked in over 10 years..

Jason
--
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] 22+ messages in thread

* Re: FW: [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview
       [not found]                       ` <20140610165246.GA12951-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
@ 2014-06-10 19:30                         ` PJ Waskiewicz
  0 siblings, 0 replies; 22+ messages in thread
From: PJ Waskiewicz @ 2014-06-10 19:30 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Sharp, Robert O,
	tatyana.e.nikolova-ral2JQCrhuEAvxtiuMwx3w,
	john.s.lacombe-ral2JQCrhuEAvxtiuMwx3w,
	swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW,
	sean.hefty-ral2JQCrhuEAvxtiuMwx3w, roland-DgEjT+Ai2ygdnm+yROfE0A

On Tue, Jun 10, 2014 at 9:52 AM, Jason Gunthorpe
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> wrote:
> On Mon, Jun 09, 2014 at 05:08:09PM -0700, PJ Waskiewicz wrote:
>> > > The patch set you refer to tried to _unify_ the port space and was
>> > > rejected.  The only other alternative is to pick ephemeral ports and
>> > > maintain a mapping for RDMA services.
>> >
>> > I thought both approaches were tried in kernel and NAK'd by
>> > netdev?  This looks very similar to the 2010 patchset, except the
>> > dummy socket allocation is living in userspace in this version.
>>
>> This was something I presented and discussed at NetConf 2011 with
>> David and other netdev core folks:
>> http://vger.kernel.org/netconf2011.html.  The main issue David had
>> with the original approach was the socket was being consumed by
>> something else inside the kernel.  It circumvented the TCP socket
>> allocation/reservation code, which was frowned upon.
>
> If you have/can get agreement from netdev that this is acceptable then
> I think it is OK from the RDMA side. It would be a good touch to CC
> the netdev list with the cover letter describing this mechanism
> properly, maybe referencing this discussion just so there are no
> surprises.

Bob and/or Tatyana, did you want to re-send and make sure netdev is
included?  Even though I did the initial championing of the design,
I'm no longer directly involved, and it would be better coming from
you guys.

> BTW, you can purge my jgg-8fiUuRrzOP0dnm+yROfE0A@public.gmane.org email from your address book,
> that hasn't worked in over 10 years..

Yeah, that's my bad.  I didn't have the original email from the
thread, so I had to make "guesses" of some of the email addresses.

Cheers,
-PJ
--
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] 22+ messages in thread

end of thread, other threads:[~2014-06-10 19:30 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-26 22:07 [PATCH 0/3] RDMA/core: iWARP Port Mapper Overview Tatyana Nikolova
2014-05-02 15:35 ` Steve Wise
2014-05-20  1:10 ` Roland Dreier
     [not found]   ` <CAL1RGDWNr53rXY_o2X7R76aVHtAH_EnK6DZk19N5fGoW1pOAdQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-20 13:45     ` Steve Wise
2014-05-20 17:46       ` Nikolova, Tatyana E
2014-06-03 20:20     ` Or Gerlitz
2014-05-20  7:47 ` Or Gerlitz
     [not found]   ` <001a01cf7431$f6d41f30$e47c5d90$@opengridcomputing.com>
2014-05-20 13:59     ` Or Gerlitz
2014-06-08 19:34 ` Or Gerlitz
     [not found]   ` <CAJZOPZ+E0sX6-_tT2DrbLvRvrHWvEcO5KtMGwZqhuoQeTqrrMg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-09 14:46     ` Steve Wise
2014-06-09 16:51     ` Jason Gunthorpe
     [not found]       ` <20140609165105.GB1816-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2014-06-09 18:10         ` Christoph Lameter
     [not found]           ` <alpine.DEB.2.10.1406091307230.9663-gkYfJU5Cukgdnm+yROfE0A@public.gmane.org>
2014-06-09 18:13             ` Steve Wise
2014-06-09 18:28               ` Christoph Lameter
     [not found]                 ` <alpine.DEB.2.10.1406091326430.9663-gkYfJU5Cukgdnm+yROfE0A@public.gmane.org>
2014-06-09 18:32                   ` Steve Wise
2014-06-09 18:12         ` Steve Wise
2014-06-09 18:42           ` Jason Gunthorpe
     [not found]             ` <2ABFA3E36CBB794685BFBA191CC1964952C605CB@FMSMSX105.amr.corp.intel.com>
     [not found]               ` <2ABFA3E36CBB794685BFBA191CC1964952C605CB-AtyAts71sc9qS6EAlXoojrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-06-10  0:08                 ` FW: " PJ Waskiewicz
     [not found]                   ` <CAEmgqz2HtEJ1ho0rS4xR7ud6YgFfeAvR8uD8MgPjVhw=E9PFEg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-10  6:10                     ` Or Gerlitz
     [not found]                       ` <5396A145.90504-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-06-10  7:03                         ` PJ Waskiewicz
2014-06-10 16:52                     ` Jason Gunthorpe
     [not found]                       ` <20140610165246.GA12951-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2014-06-10 19:30                         ` PJ Waskiewicz

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.