Re: When IBoE will be merged to upstream?

Roland Dreier
2010-07-03T20:34:15Z

> Third, RoCE is not IB; its all about making RDMA user-friendly to Ethernet users.

This is utter nonsense. RoCE (or IBoE as I prefer ;) is absolutely
IB-over-Ethernet and it is all about making minimal changes to IB and IB
applications to run on Ethernet.

> Most importantly, we don't want to change the way Ethernet networks are managed.

That makes sense. However let's be honest with ourselves -- the
fraction of Ethernet networks using IPv6 as their only or even main
address scheme is pretty small. Of course having a migration path to
work with IPv6 is important, but for the moment users want to use IPv4
addresses to specify destinations.

> - RoCE gids are L3 addresses, which are not (necessarily) of link-local
> scope; people will mostly use IP-mapped gids of global scope.
> - These gids will map to an IP address, which then can resolve to an
> outgoing vlan device exactly as in Ethernet.

At that level it all makes sense, but the problem is the specifics of
where, when and how the mapping is done.

> We have a specification, we have an implementation, and we have clean
> way of passing RoCE L2 information to user-space via address handles.

We may have an implementation but we absolutely don't have a
specification. Or at least the IBA annex has nothing beyond this:

A16.5.1 ADDRESS ASSIGNMENT AND RESOLUTION

Layer 2 local addresses (i.e. SMAC, DMAC), and the methods by which
those addresses are assigned, are outside the scope of this annex.

The means for resolving a GID to a local port address (i.e. SMAC or
DMAC) are outside the scope of this annex. It is assumed that
standard Ethernet mechanisms, such as ARP or Neighbor Discovery are
used to maintain an appropriate address cache for RoCE ports.

which was really pretty unfortunate, since it means the exact point
we're talking about is completely unspecified. Or is there some other
spec you can point to?

(This also means it's pretty important that we get this right, since
every future implementation is going to have a lot of pressure to follow
what Linux does)

> I don't see any substantial reason to change the basic approach.

I don't really even know what the basic approach is. For example what's
the plan for handling GIDs that aren't derived from a MAC address? For
a long time we've assumed that the create_ah verb can't sleep, so where
are you going to do neighbor discovery?

- R.
--
Roland Dreier <rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org> || For corporate legal information go to: