I'm responding to this posting because it offered a clear summary of the RDMAoE 
proposal from Mellanox.

I want to raise some possible procedural questions and ask for comment. I don't 
have detailed notes on this, so this is to the best of my recollection. I 
recall RDMAoE was introduced, I think for the first time, at an EWG meeting. 
There were some concerns raised then and the Mellanox proponents withdrew the 
proposal. The concerns raised included:
- There was no documentation on what Mellanox was proposing

- There was no source code

- There were concerns about potential IP issues

- There was no standards body associated with the proposal. 

Recall the bylaws of OFA requires that any ULPs that OFA supports will be 
produced by some recognized standards organization. No such organization was 
known to be associated with the Mellanox proposal.

So, the simple question is do we have an issue or is the Mellanox proposal 
somehow exempt from our bylaws requirements?

Thanks, Jim 

-----Original Message-----
From: ewg-boun...@lists.openfabrics.org 
[mailto:ewg-boun...@lists.openfabrics.org] On Behalf Of Eli Cohen
Sent: Monday, June 15, 2009 12:34 AM
To: Roland Dreier
Cc: ewg; general-list
Subject: [ewg] [PATCH 0/9] RDMAoE - RDMA over Ethernet

RDMA over Ethernet (RDMAoE) allows running the IB transport protocol over
Ethernet, providing IB capabilities for Ethernet fabrics. The packets are
standard Ethernet frames with an Ethertype, an IB GRH,  unmodified IB transport
headers and payload. HCA RDMAoE ports are no different than regular IB ports
from the RDMA stack perspective.
    
IB subnet management and SA services are not required for RDMAoE operation;
Ethernet management practices are used instead. In Ethernet, nodes are commonly
referred to by applications by means of an IP address. RDMAoE treats IP
addresses that were assigned to the corresponding Ethernet port as GIDs, and
makes use of the IP stack to bind a destination address to the corresponding
netdevice (just as the CMA does today for IB and iWARP) and to obtain its L2
MAC addresses.
    
The RDMA Verbs API is syntactically unmodified. When referring to RDMAoE ports,
Address handles are required to contain GIDs and the L2 address fields in the
API are ignored. The Ethernet L2 information is then obtained by the
vendor-specific driver (both in kernel- and user-space) while modifying QPs to
RTR and creating address handles.
    
In order to maintain application compatibility, RDMAoE implements a SA_Query
API that locally returns path records with the corresponding GIDs and the other
relevant parameters . Consequently, any CMA or native Verbs application, in
kernel or user-space, that uses path queries to obtain its address information,
will run transparently over RDMAoE with no changes. We have successfully tested
MPI, SDP, RDS, and native Verbs applications over RDMAoE without *any* changes.
    
In the mlx4 driver stack, mlx4_en must be loaded and the corresponding eth
Ethernet (with support for RDMAoE) or IB, as it was already the case.

Following is a series of 9 patches based on version 2.6.30 of the
Linux kernel.

Signed-off-by: Eli Cohen <e...@mellanox.co.il>
    

 drivers/infiniband/core/addr.c            |   20 ++-
 drivers/infiniband/core/agent.c           |   16 +-
 drivers/infiniband/core/cma.c             |   39 ++++-
 drivers/infiniband/core/mad.c             |   48 ++++--
 drivers/infiniband/core/multicast.c       |  153 ++++++++++++++--
 drivers/infiniband/core/sa_query.c        |  167 ++++++++++++++----
 drivers/infiniband/core/ud_header.c       |  111 ++++++++++++
 drivers/infiniband/core/uverbs.h          |    1 +
 drivers/infiniband/core/uverbs_cmd.c      |   34 ++++
 drivers/infiniband/core/uverbs_main.c     |    1 +
 drivers/infiniband/core/verbs.c           |   18 ++
 drivers/infiniband/hw/mlx4/ah.c           |  228 ++++++++++++++++++++----
 drivers/infiniband/hw/mlx4/main.c         |  276 ++++++++++++++++++++++++++---
 drivers/infiniband/hw/mlx4/mlx4_ib.h      |   30 +++-
 drivers/infiniband/hw/mlx4/qp.c           |  253 +++++++++++++++++++++-----
 drivers/infiniband/ulp/ipoib/ipoib_main.c |    3 +
 drivers/net/mlx4/cmd.c                    |    6 +
 drivers/net/mlx4/en_main.c                |   15 ++-
 drivers/net/mlx4/en_port.c                |    4 +-
 drivers/net/mlx4/en_port.h                |    3 +-
 drivers/net/mlx4/intf.c                   |   20 ++
 drivers/net/mlx4/main.c                   |    6 +
 drivers/net/mlx4/mlx4.h                   |    1 +
 include/linux/mlx4/cmd.h                  |    1 +
 include/linux/mlx4/device.h               |   31 +++-
 include/linux/mlx4/driver.h               |   16 ++-
 include/linux/mlx4/qp.h                   |    8 +-
 include/rdma/ib_addr.h                    |   51 ++++++
 include/rdma/ib_pack.h                    |   26 +++
 include/rdma/ib_user_verbs.h              |   21 ++-
 include/rdma/ib_verbs.h                   |   22 +++
 31 files changed, 1419 insertions(+), 210 deletions(-)
_______________________________________________
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
_______________________________________________
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg

Reply via email to