[openib-general] Re: ipoib send-only join to IGMP multicast group

Hal Rosenstock halr at voltaire.com
Tue Sep 13 10:14:36 PDT 2005


On Tue, 2005-09-13 at 12:29, Michael S. Tsirkin wrote:
> Quoting r. Roland Dreier <rolandd at cisco.com>:
> >     Jack> 2. Who is responsible for creating this multicast group in
> >     Jack> IPoIB? (A send-only join will not cause a group to be
> >     Jack> created if it does not yet exist)
> > 
> > The group will be created if any full-member joins are done.
> 
> Forgive me if I'm asking a dump question - but wouldnt it be simpler
> to join as a full member?

It would just need the additional characteristics for that group which
are available from the broadcast group.

> It seems that if we are joining a group and it doesnt exist,
> we have to handle this specially by forwarding packets to
> all-IP broadcast group.
> Further, since the group can be added/deleted at any time.
> it seems that we also should request, and handle,
> delete updates and 'creation' reports from the SM.
>  
> > But that
> > won't happen unless some entity wants to receive packets from the
> > group -- in other words, some multicast router.
> 
> The ipoib draft seems to imply that routers should typically
> perform nonmember joins. Do I misunderstand it?

No and these nonmember joins are based on it subscribing to MGID
created/deleted notices..

This is all covered better in the IPoIB Architecture I-D
http://www.ietf.org/internet-drafts/draft-ietf-ipoib-architecture-04.txt

IPmc senders join groups either as send only (nonmembers) or full
members.

        A pure sender may choose to join the multicast group as a
        FullMember. In such a case the sender will receive all the
        multicast packets transmitted to the IB group. Additionally,
        the IB group will not be deleted until the sender leaves the
        group.

        Alternatively, a sender might IB_join as a SendOnlyNonMember.
        In such a case the packets are not routed to the sender though
        packets transmitted by it can reach the other group members.
        Additionally, the group can be deleted when all FullMembers
        have left the group. The sender can further request delete
        updates from the SM.

All that is said about receivers is that they need to join and create
the group if necessary.

        The IP host must join the IB multicast group corresponding to
        the IP address. This follows from the IBA requirement that the
        receiver must join the relevant IB multicast group.  The group
        is automatically created if it does not exist [IB_ARCH].

        The IP receivers must IB_leave the IB group when the IP layer
        stops listening of the corresponding IP address. The SM can
        then choose to delete the group.

IP multicast routers need to listen promiscuously and joins these
discovered groups as nonmembers.

        IP routers know of the new IP groups created in the subnet by
        the use of protocols such as IGMP/MLD. However, this is not
        enough for IPoIB since the router needs to IB_join the
        relevant IB groups to be able to receive and transmit the
        packets. There is no promiscuous mode for listening to all
        packets.

        The IPoIB routers therefore need to request the SM to report
        all creations of IB groups in the fabric. The IPoIB router can
        then IB_join the reported group. It is not desirable that the
        router's IB_joining of a multicast group be considered the
        same as the IB_join from a receiver - the router's IB_join
        shouldn't disallow the group's deletion when all receivers
        leave. To overcome just this type of situations, IBA provides
        the NonMember IB_join mode.

        The NonMember IB_join mode can be used by IP routers when they
        join in response to the create reports. A router should
        ideally request the delete reports too so that it can release
        all the resources associated with the group. T

-- Hal




More information about the general mailing list