netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Steve Wise <swise@opengridcomputing.com>
To: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Cc: Roland Dreier <rdreier@cisco.com>,
	netdev@vger.kernel.org, openib-general@openib.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH  v2 04/13] Connection Manager
Date: Tue, 05 Dec 2006 09:07:33 -0600	[thread overview]
Message-ID: <1165331253.16087.21.camel@stevo-desktop> (raw)
In-Reply-To: <20061205051356.GA26845@2ka.mipt.ru>

On Tue, 2006-12-05 at 08:13 +0300, Evgeniy Polyakov wrote:
> On Mon, Dec 04, 2006 at 10:20:51AM -0600, Steve Wise (swise@opengridcomputing.com) wrote:
> > >  > This and a lot of other changes in this driver definitely says you
> > >  > implement your own stack of protocols on top of infiniband hardware.
> > > 
> > > ...but I do know this driver is for 10-gig ethernet HW.
> > > 
> > 
> > There is no SW TCP stack in this driver.  The HW supports RDMA over
> > TCP/IP/10GbE in HW and this is required for zero-copy RDMA over Ethernet
> > (aka iWARP).  The device is a 10 GbE device, not Infiniband.  The
> > Ethernet driver, upon which the rdma driver depends, acts both like a
> > traditional Ethernet NIC for the Linux stack as well as a TCP offload
> > device for the RDMA driver allowing establishment of RDMA connections.
> > The Connection Manager (patch 04/13) sends/receives messages from the
> > Ethernet driver that sets up HW TCP connections for doing RDMA.  While
> > this is indeed implementing TCP offload, it is _not_ integrating it with
> > the sockets layer nor the linux stack and offloading sockets
> > connections.  Its only supporting offload connections for the RDMA
> > driver to do iWARP.   The Ammasso device is another example of this
> > (drivers/infiniband/hw/amso1100).  Deep iSCSI adapters are another
> > example of this.
> 
> So what will happen when application will create a socket, bind it to
> that NIC, and then try to establish a TCP connection? How NIC will
> decide that received packets are from socket but not for internal TCP
> state machine handled by that device?

The HW knows which TCP connections are offloaded by virtue of the fact
that they were setup via the RDMA subsystem.  Any other TCP traffic (and
all other non TCP traffic) gets passed to the host stack.

> 
> As a side note, does all iwarp devices _require_ to have very
> limited TCP engine implemented it in its hardware, or it is possible
> to work with external SW stack?

It is possible, but not very interesting.

One could implement an all-software iWARP stack.  The iWARP protocols
are just TCP payload and _could_ be implemented in user mode on top of a
socket.  However, this isn't very interesting:  the goal of iWARP (and
RDMA for that matter) is to allow direct placement of data into user
memory with 0 copies done by the host CPU.  low latency.

Steve.



  reply	other threads:[~2006-12-05 15:07 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-02 22:49 [PATCH v2 00/13] 2.6.20 Chelsio T3 RDMA Driver Steve Wise
2006-12-02 22:49 ` [PATCH v2 01/13] Linux RDMA Core Changes Steve Wise
2006-12-02 22:49 ` [PATCH v2 02/13] Device Discovery and ULLD Linkage Steve Wise
2006-12-03 16:03   ` Jan Engelhardt
2006-12-02 22:49 ` [PATCH v2 03/13] Provider Methods and Data Structures Steve Wise
2006-12-03 12:07   ` Arjan van de Ven
2006-12-04 16:28     ` Steve Wise
2006-12-04 16:45       ` Roland Dreier
2006-12-04 16:50         ` Steve Wise
2006-12-02 22:49 ` [PATCH v2 04/13] Connection Manager Steve Wise
2006-12-04 11:08   ` Evgeniy Polyakov
2006-12-04 15:45     ` Roland Dreier
2006-12-04 16:20       ` Steve Wise
2006-12-05  5:13         ` Evgeniy Polyakov
2006-12-05 15:07           ` Steve Wise [this message]
2006-12-05 10:45         ` Brice Goglin
2006-12-05 16:02           ` Steve Wise
2006-12-05 16:27             ` [openib-general] " Steve Wise
2006-12-05 17:14           ` Roland Dreier
2006-12-05  5:07       ` Evgeniy Polyakov
2006-12-05  5:13         ` Roland Dreier
2006-12-05  5:16           ` Evgeniy Polyakov
2006-12-05  5:27             ` Roland Dreier
2006-12-05 15:14               ` Steve Wise
2006-12-05 15:27                 ` Evgeniy Polyakov
2006-12-05 15:46                   ` Steve Wise
2006-12-05 15:03           ` Steve Wise
2006-12-05 15:02         ` Steve Wise
2006-12-05 15:19           ` Evgeniy Polyakov
2006-12-05 15:39             ` Steve Wise
2006-12-05 15:59               ` Evgeniy Polyakov
2006-12-05 16:12                 ` Steve Wise
2006-12-05 16:17                   ` [openib-general] " Steve Wise
2006-12-05 16:31                   ` Evgeniy Polyakov
2006-12-05 16:47                     ` Steve Wise
2006-12-05 17:26                       ` Evgeniy Polyakov
2006-12-05 17:32                         ` Evgeniy Polyakov
2006-12-05 17:51                         ` Steve Wise
2006-12-05 18:09                           ` Evgeniy Polyakov
2006-12-06  1:27                             ` [openib-general] " Michael Krause
2006-12-02 22:50 ` [PATCH v2 05/13] Queue Pairs Steve Wise
2006-12-02 22:50 ` [PATCH v2 06/13] Completion Queues Steve Wise
2006-12-02 22:50 ` [PATCH v2 07/13] Async Event Handler Steve Wise
2006-12-02 22:50 ` [PATCH v2 08/13] Memory Registration Steve Wise
2006-12-02 22:50 ` [PATCH v2 09/13] Core WQE/CQE Types Steve Wise
2006-12-02 22:50 ` [PATCH v2 10/13] Core HAL Steve Wise
2006-12-02 22:51 ` [PATCH v2 11/13] Core Resource Allocation Steve Wise
2006-12-02 22:51 ` [PATCH v2 12/13] Core Debug functions Steve Wise
2006-12-02 22:51 ` [PATCH v2 13/13] Kconfig/Makefile Steve Wise
2006-12-02 23:13 ` [PATCH v2 00/13] 2.6.20 Chelsio T3 RDMA Driver Francois Romieu
2006-12-03  0:24   ` Stephen Hemminger
2006-12-04 16:24     ` Steve Wise

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=1165331253.16087.21.camel@stevo-desktop \
    --to=swise@opengridcomputing.com \
    --cc=johnpol@2ka.mipt.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=openib-general@openib.org \
    --cc=rdreier@cisco.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).