[ewg] Re: [ofa-general] [PATCH 2/9] ib_core: kernel API for GID -->MAC translations

Jason Gunthorpe jgunthorpe at obsidianresearch.com
Wed Jun 17 13:52:57 PDT 2009


On Wed, Jun 17, 2009 at 11:38:43AM -0700, Roland Dreier wrote:
> 
>  > It is like an IPv6 address but it was expressly envisioned to be a
>  > seperate space. The IBA authors copied many of the conventions from
>  > IPv6 for numbering this new space, like link local, and multicast
>  > prefixes, but it was not intended to be co-mingled.
> 
> Well (I've quoted this many times): IBA section 4.1:
> 
>    "A GID is a valid 128-bit IPv6 address (per RFC 2373) with additional
>     properties / restrictions defined within IBA..."
> 
> People often try to claim that this sentence doesn't mean what it very
> explicitly and clearly says, and certainly I believe that existing
> practice doesn't comply with the IBA spec, but I don't see how anyone
> can say that a truly compliant IB GID is not a real IPv6 address.

Yes, I know.. This is a crummy area in IBA, the counter quote to 4.1,
is 5.2.2:

''Note however, that IBA does not define a relationship between a
  device GID and IPv6 address (ie there is no defined mapping between
  GID and IPv6 address for and IB device or port)''

Which I take to mean that the GID follows all the conventions of RFC
2373 but is a distinct address family.

Fundamentally the question that is unanswered by IBA is if a GID and
IPv6 address that have the same value represent the same interface and
host.

FWIW, I have long sought to keep the GID and IPv6 spaces as aligned
and would prefer to be done with this ambiguity and have a 1:1
mapping..

>  > So, I didn't look closely enough, but what was the ethertype that is
>  > used here in this patch set? Hopefully not IPv6.

> I don't think it's specified in the code -- presumably in HCA FW.  Which
> is an issue as you say -- do we have an IEEE ethertype yet?  And if we
> don't use the IPv6 ethertype, then is multicast going to work well (if
> the code is moved away from just broadcasting everything)?  I doubt that
> switch IGMP snooping works well for non-IP ethertypes -- in fact I
> wonder how well existing switches handle IPv6 multicast ;)

Hmm, murky indeed. Your point about IGMPv6 is well made. The problem
is that IB GRHs are not IPv6 headers and have different numerology for
the Next Header field. Ie in IPv6 Next Header 0x1B is RFC 908, while
in GRH it is a BTH. Labeling GRHs with an IPv6 ethertype is
fundamentally wrong.

But also highly desirable for things like IGMPv6 snooping, etc.

There is obviously alot of possible trade offs here, and it is
impossible to judge any proposal until the issue of IBoE or RDMAoE and
the intended goal of this thing is laid to rest.

Jason



More information about the ewg mailing list