From: Christoph Lameter <cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
To: Jason Gunthorpe
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Or Gerlitz <ogerlitz-smomgflXvOZWk0Htik3J/w@public.gmane.org>,
Yossi Etigin <yosefe-smomgflXvOZWk0Htik3J/w@public.gmane.org>,
Roland Dreier <rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
Subject: Re: IPoIB: Broken IGMP processing
Date: Mon, 23 Aug 2010 13:19:20 -0500 (CDT) [thread overview]
Message-ID: <alpine.DEB.2.00.1008231317150.10719@router.home> (raw)
In-Reply-To: <20100823174110.GK26549-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
On Mon, 23 Aug 2010, Jason Gunthorpe wrote:
> Hmmm... What are you trying to access here? I'm guessing it is the
> DGID of the GRH?
>
> ipoib_ud_skb_put_frags(priv, skb, wc->byte_len);
> skb_pull(skb, IB_GRH_BYTES); <-- These are the bytes you want
> skb_reset_mac_header(skb); <-- Sets skb_mac_header to skb->head+40
> skb_pull(skb, IPOIB_ENCAP_LEN);
>
> So, I think you are accessing byte 42, which doesn't seem right? The
> DGID starts in byte 24 from skb->head.
>
> Also, you need to check for IBV_WC_GRH, the 40 bytes are garbage if it
> is not set.
Trying to get the MGID information:
>From http://tools.ietf.org/html/draft-ietf-ipoib-link-multicast-00
7. The IPoIB All-Node Multicast and Broadcast Group
Once an IB partition is created with link attributes identified for
an IPoIB link, the network administrator must create a special IB
multicast group for every node on the IPoIB link to join. This is
achieved through the creation of "MCGroupRecord" in each IB subnet
that the IB partition encompasses, as described in section 4 above.
The MGID will have the P_Key of the IB partition that defines the
IPoIB link embedded in it. A special signature is also embedded to
identify the MGID for IPoIB use only. For IPv4 over IB, the signature
will be "0x401B". For IPv6 over IB, the signature will be "0x601B".
For an IPv4 subnet, the MGID for this special IB multicast group
SHALL have the following format:
| 8 | 4 | 4 | 16 bits | 16 bits | 48 bits | 32 bits |
+--------+----+----+-----------------+---------+----------+---------+
|11111111|0001|scop|<IPoIB signature>|< P_Key >|00.......0|<all 1's>|
+--------+----+----+-----------------+---------+----------+---------+
Chu & Kashyap [Page 7]
draft-ietf-ipoib-link-multicast-00.txt January 2002
For an IPv6 subnet, the format of the MGID SHALL look like this:
| 8 | 4 | 4 | 16 bits | 16 bits | 80 bits |
+--------+----+----+-----------------+---------+--------------------+
|11111111|0001|scop|<IPoIB signature>|< P_Key >|000.............0001|
+--------+----+----+-----------------+---------+--------------------+
As for the scop bits, if the IPoIB link is fully contained within a
single IB subnet, the scop bits SHALL be set to 2 (link-local).
Otherwise the scope will be set higher.
A MCGroupRecord will be created with all the IPoIB link attributes
described before, including the link MTU, Q_Key, TClass, FlowLabel,
and HopLimit. When a node is attached to an IPoIB link identified by
a P_Key, it must look for a special, all-node multicast/broadcast
group to join. This is done by constructing the MGID with the link
P_Key and the IPoIB signature. The node SHOULD always look for a MGID
of a link-local scope first before attempting one with a greater
scope.
Once the right MGID and MCGroupRecord are identified, the local node
SHOULD use the link MTU recorded in the MCGroupRecord. It MUST accept
a smaller MTU if one is advertised through the link MTU option of a
router advertisement [DISC].
In case the link MTU is greater than the maximum payload size that
the local HCA can support, the node can not join the IPoIB link and
operate as an IP node.
After the right MTU is determined, the local node must join the
special all-node multicast/broadcast group by calling the SA to
create a MCMemberRecord corresponding to the MGID. The SA will return
all the link attributes for the local node to use. The node MUST use
these attributes in all future multicast operations to the local
IPoIB link. The broadcast group for IPv4 will serve to provide a
broadcast service for protocol like ARP to use.
In addition to the all-node multicast/broadcast group, an all-router
multicast group SHOULD be created at link configuration time if an IP
router will be attached to the link. This is to facilitate IP
multicast operations described later. A MCGroupRecord for the all-
router MGID must be created in every IB subnet that the IPoIB link
encompasses. The format of the all-router MGID will be covered in
next section.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2010-08-23 18:19 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-23 17:16 IPoIB: Broken IGMP processing Christoph Lameter
[not found] ` <alpine.DEB.2.00.1008231210010.9840-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2010-08-23 17:41 ` Jason Gunthorpe
[not found] ` <20100823174110.GK26549-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2010-08-23 18:10 ` Christoph Lameter
[not found] ` <alpine.DEB.2.00.1008231254300.10719-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2010-08-23 18:28 ` Jason Gunthorpe
[not found] ` <20100823182859.GL26549-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2010-08-23 19:27 ` Christoph Lameter
[not found] ` <alpine.DEB.2.00.1008231427130.12815-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2010-08-23 19:34 ` Yossi Etigin
[not found] ` <7E95F01E94AB484F83061FCFA35B39F8013249-QfUkFaTmzUSUvQqKE/ONIwC/G2K4zDHf@public.gmane.org>
2010-08-23 19:45 ` Jason Gunthorpe
[not found] ` <20100823194555.GN26549-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2010-08-23 19:50 ` Yossi Etigin
[not found] ` <7E95F01E94AB484F83061FCFA35B39F801324A-QfUkFaTmzUSUvQqKE/ONIwC/G2K4zDHf@public.gmane.org>
2010-08-25 14:43 ` Christoph Lameter
2010-08-23 19:59 ` Christoph Lameter
[not found] ` <alpine.DEB.2.00.1008231454230.12815-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2010-08-24 18:49 ` Jason Gunthorpe
2010-08-23 18:19 ` Christoph Lameter [this message]
[not found] ` <alpine.DEB.2.00.1008231317150.10719-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2010-08-23 18:30 ` Jason Gunthorpe
[not found] ` <20100823183044.GM26549-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2010-08-26 19:55 ` [IPoIB] Identify Multicast packets and fix IGMP breakage Christoph Lameter
[not found] ` <alpine.DEB.2.00.1008261453510.21466-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2010-08-26 20:49 ` Roland Dreier
[not found] ` <adapqx5rtez.fsf-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
2010-08-26 21:17 ` Christoph Lameter
[not found] ` <alpine.DEB.2.00.1008261613160.24174-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2010-08-26 21:29 ` Jason Gunthorpe
2010-08-26 21:31 ` [IPoIB] Identify multicast packets and fix IGMP breakage V2 Christoph Lameter
[not found] ` <alpine.DEB.2.00.1008261629440.24174-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2010-08-26 22:15 ` David Miller
[not found] ` <20100826.151553.242147157.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2010-08-26 22:21 ` Jason Gunthorpe
[not found] ` <20100826222146.GA23025-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2010-08-26 23:26 ` [IPoIB] Identify multicast packets and fix IGMP breakage V3 Christoph Lameter
[not found] ` <alpine.DEB.2.00.1008261825490.26351-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2010-08-26 23:43 ` Jason Gunthorpe
2010-08-26 23:57 ` Christoph Lameter
[not found] ` <alpine.DEB.2.00.1008261856090.29657-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2010-08-27 0:07 ` David Miller
2010-08-27 2:24 ` Christoph Lameter
[not found] ` <20100826234342.GA24333-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2010-08-27 0:02 ` Yossi Etigin
2010-08-27 0:02 ` Yossi Etigin
[not found] ` <7E95F01E94AB484F83061FCFA35B39F89BE276-QfUkFaTmzUSUvQqKE/ONIwC/G2K4zDHf@public.gmane.org>
2010-08-27 0:17 ` Jason Gunthorpe
2010-08-27 13:29 ` Christoph Lameter
2010-09-14 7:27 ` Or Gerlitz
[not found] ` <4C8F23DB.2040105-smomgflXvOZWk0Htik3J/w@public.gmane.org>
2010-09-14 14:02 ` Christoph Lameter
[not found] ` <alpine.DEB.2.00.1008270827280.11792-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2010-09-28 18:09 ` Roland Dreier
2010-08-26 21:32 ` [IPoIB] Identify Multicast packets and fix IGMP breakage Roland Dreier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.00.1008231317150.10719@router.home \
--to=cl-vytec60ixjuavxtiumwx3w@public.gmane.org \
--cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=ogerlitz-smomgflXvOZWk0Htik3J/w@public.gmane.org \
--cc=rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org \
--cc=yosefe-smomgflXvOZWk0Htik3J/w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.