Thread (21 messages) flat view 21 messages, 5 authors, 2006-12-06

Re: [openib-general] [PATCH v2 04/13] Connection Manager

From: Steve Wise <hidden>
Date: 2006-12-05 16:17:44
Also in: lkml

On Tue, 2006-12-05 at 10:12 -0600, Steve Wise wrote:
On Tue, 2006-12-05 at 18:59 +0300, Evgeniy Polyakov wrote:
quoted
On Tue, Dec 05, 2006 at 09:39:58AM -0600, Steve Wise (swise@opengridcomputing.com) wrote:
quoted
quoted
Phrases like "MPA-aware TCP" rises a lot of questions - briefly saying
that hardware (even if it is called ethernet driver) can create and work
with own TCP flows potentially modified in the way it likes which is seen 
in driver. Likely such flows will not be seen by upper layers like OS 
network stack according to hardware descriptions.

Is it correct?
I don't quite get your point about the driver aspect of this?

The HW manages the iWARP connection including data flow.  It adheres to
the MPA, RDDP, and RDMAP protocol specification IDs from the IETF.  The
HW manages how data gets pushed out in the RDMA stream.   The RDMA
Driver just requests a TCP connection and does the MPA exchange.  Then
tells the hardware to move the connection into RDMA mode.  From that
point on, the driver simply suffles IO work requests from the consumer
application to the hardware and handles asynchronous events while the
connection is up and running.
My main concern about this is the fact, that protocol handling is
splitted into SF and HW parts, and actually until negotiation is
completed those parts are completely unrelated to each other, so
requested TCP connection can leak into main stack and main stack can
send some packets which can be considered as MPA negotiation.
Ah.  Data from an offloaded connection cannot leak into the main stack
nor vice-verse.  We can take an active RDMA connection establishment as
an example if you want:  Once the message is sent to the HW to "setup a
TCP connection from addr/port a.b to addr/port c.d", then packets on
that connection (that 4-tuple) will always be delivered to the RDMA
driver, not the native stack.  If the the packet received after the
connection is setup is -not- an MPA reply (in this example), then the
connection is aborted.  Once the connection is aborted.  
                                                       ^ the 4 tuple can
then be reused for rdma or native stack tcp connections.


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help