* attach multicast verb
@ 2021-10-26 5:03 Bob Pearson
2021-10-27 11:57 ` Jason Gunthorpe
0 siblings, 1 reply; 2+ messages in thread
From: Bob Pearson @ 2021-10-26 5:03 UTC (permalink / raw)
To: Jason Gunthorpe, Zhu Yanjun, linux-rdma@vger.kernel.org
I spent some time looking at the current code for attach multicast and it seems likely not to work. Unfortunately there isn't very much test code for multicast over RoCEv2. Currently the rxe receive code maps all ipv4 multicast addresses ([224-239].x.x.x) to IPV6 unicast addresses using the 46 mapping 0::0000:ffff:aabb:ccdd where the IPV4 address is aa.bb.cc.dd.
This is then mapped to a 48 bit MAC address using the IPV6 to MAC mapping
IPV6 mcast addr = FFts:xxxx:xxxx:xxxx::xxxx:xxxx:aabb:ccdd -> 33, 33, aa, bb, cc, dd.
The 33, 33 identifies the mac address as a mapped IPV6 address. The real mapping from
IPV4 address to MAC address is
Ea.bb.cc.dd -> 01, 00, 5E, bb, cc, dd with the msb of the bb set to zero. The 01, 00, 5E
identifies the address as a mapped IPV4 address. The mapped MAC addresses create a filter
to allow the (non unique sets of) multicast addresses to be accepted by the NIC.
Real IPV4 multicast traffic is not likely to be accepted by this.
Is there any documentation on how mcast is supposed to work for RoCEv2? Or an expert
I can direct questions to?
Bob
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: attach multicast verb
2021-10-26 5:03 attach multicast verb Bob Pearson
@ 2021-10-27 11:57 ` Jason Gunthorpe
0 siblings, 0 replies; 2+ messages in thread
From: Jason Gunthorpe @ 2021-10-27 11:57 UTC (permalink / raw)
To: Bob Pearson; +Cc: Zhu Yanjun, linux-rdma@vger.kernel.org
On Tue, Oct 26, 2021 at 12:03:49AM -0500, Bob Pearson wrote:
> I spent some time looking at the current code for attach multicast and it seems likely not to work. Unfortunately there isn't very much test code for multicast over RoCEv2. Currently the rxe receive code maps all ipv4 multicast addresses ([224-239].x.x.x) to IPV6 unicast addresses using the 46 mapping 0::0000:ffff:aabb:ccdd where the IPV4 address is aa.bb.cc.dd.
> This is then mapped to a 48 bit MAC address using the IPV6 to MAC mapping
>
> IPV6 mcast addr = FFts:xxxx:xxxx:xxxx::xxxx:xxxx:aabb:ccdd -> 33, 33, aa, bb, cc, dd.
> The 33, 33 identifies the mac address as a mapped IPV6 address. The real mapping from
> IPV4 address to MAC address is
>
> Ea.bb.cc.dd -> 01, 00, 5E, bb, cc, dd with the msb of the bb set to zero. The 01, 00, 5E
> identifies the address as a mapped IPV4 address. The mapped MAC addresses create a filter
> to allow the (non unique sets of) multicast addresses to be accepted by the NIC.
>
> Real IPV4 multicast traffic is not likely to be accepted by this.
>
> Is there any documentation on how mcast is supposed to work for RoCEv2? Or an expert
> I can direct questions to?
Can't say I know which is right either
I'd rather expect someone creating a rocev2 IPv4 multicast group to
stay in ipv4 land though
The transform to IPV6 multicast is something that rocev1 only should
do.
Jason
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-10-27 11:57 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-26 5:03 attach multicast verb Bob Pearson
2021-10-27 11:57 ` Jason Gunthorpe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).