[ofa-general] [PATCH] rds: use separate ports for TCP and IB

Olaf Kirch olaf.kirch at ORACLE.COM
Mon Jun 2 01:25:44 PDT 2008


On Friday 30 May 2008 18:29:01 Talpey, Thomas wrote:
> Yes, at the moment TCP to the iWARP NIC is like talking to a different
> host. But, RDMA-aware versions of a given protocol still need a second
> port, unless there is explicit upper layer support for initiating the MPA
> exchange. We have the same issue with NFSv3/RDMA, and we have
> applied for a second port (the application is still pending within IANA).

This may also become a problem for RDS, but in a different sense.
If you bind an RDS socket to a specific IP address, this also selects
a transport. If you bind to an IP address owned by ib0, you select
the IB transport. If you bind to an IP address owned by say eth0, you
select the TCP transport.

Now if the one and only NIC in the system is an iWARP NIC, which transport
should we select? Both iWARP and TCP can be legitimate choices, depending
on the hosts we're talking to (and how do we find out whether the remote
node supports iWARP or not?)

I think for now it's okay to default to iWARP and punt if the remote
doesn't support it. But in the long run this is something that needs
to be addressed - either in RDS, or in the way ofed handles iWARP NICs.

In fact it may not be such a bad idea to treat an iWARP NIC as two
devices, and register one ethX device (owned exclusively by the normal
stack) and one ibX device (owned mostly by the ofed stack, maybe with
the exception of ARP and such). Would that work with protocols like
NFS/RDMA neogtiation - ie can you negotiate specify a secondary port
_and_ address?

Olaf
-- 
Olaf Kirch  |  --- o --- Nous sommes du soleil we love when we play
okir at lst.de |    / | \   sol.dhoop.naytheet.ah kin.ir.samse.qurax



More information about the general mailing list