Re: [PATCH v2 04/13] Connection Manager

From: Steve Wise
Date: Tue Dec 05 2006 - 10:14:59 EST


On Mon, 2006-12-04 at 21:27 -0800, Roland Dreier wrote:
> > So will each new NIC implement some parts of TCP stack in theirs drivers?
>
> I hope not. The driver we merged (amso1100) did it completely in FW,
> with a separate MAC and IP interface for the RDMA connections. I
> think we better understand the Chelsio driver pretty well and think it
> over carefully before we merge it.
>

Chelsio doesn't implement TCP stack in the driver. Just like Ammasso,
it sends messages to the HW to setup connections. It differs from
Ammasso in at least 2 ways:

1) Ammasso does the MPA negotiations in FW/HW. Chelsio does it in the
RDMA driver. So there is code in the Chelsio driver to handle MPA
startup negotiation (the exchange of 2 packets over the TCP connection
while its still in streaming more). BTW: This code _could_ be moved
into the core IWCM if we find it could be used by other rnic devices
(don't know yet).

2) Ammasso implments a 100% deep adapter. It does ARP, routing, IP,
TCP, and IWARP protocols all in firmware/hw. It had 2 mac addresses
simulating 2 ethernet ports. One exclusively for RDMA connections, and
one for host stack traffic. Chelsio implements a shallower adapter that
only does TCP in HW. ARP, for instance, is handled by the native stack
and the rdma driver uses netevents to maintain arp tables in the HW for
use by the offloaded TCP connections.

Steve.



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/