[openib-general] IPoIB and MC Group leaving

Eitan Zahavi eitan at mellanox.co.il
Mon Dec 4 07:02:38 PST 2006


Actually I do not see the point in leaving all groups and immediately 
joining them again.

Hal Rosenstock wrote:
> Roland,
>
> Currently, the IPoIB code issues what I would term a "preemptive" leave
> to the SA in a number of cases:
>
> ulp/ipoib/ipoib_multicast.c:ipoib_mcast_leave
> ...
>         /*
>          * Just make one shot at leaving and don't wait for a reply;
>          * if we fail, too bad.
>          */
>         ret = ib_sa_mcmember_rec_delete(priv->ca, priv->port, &rec,
>                                         IB_SA_MCMEMBER_REC_MGID         |
>                                         IB_SA_MCMEMBER_REC_PORT_GID     |
>                                         IB_SA_MCMEMBER_REC_PKEY         |
>                                         IB_SA_MCMEMBER_REC_JOIN_STATE,
>                                         0, GFP_ATOMIC, NULL,
>                                         mcast, &mcast->query);
>
> This is to make sure node is not registered in any groups. This leave
> may not be successful. Failure is "normal" when the subnet is starting
> up "fresh". There are other cases where the failure is indeed a failure.
>
> However, it is "unsafe" to issue a subsequent join until the leave has
> been responded to as that is the only "reliability" guarantee that the
> SA has received the request and processed it. I know the comment says
> that the result of the leave is irrelevant. However, the fact that it
> has been processed or not is needed for the subsequent (related) join to
> be issued. Pipelining of joins/leaves can only occur if they are
> unrelated. I'm not sure the IBA spec is clear on this. Am I wrong about
> this ? 
>
> -- Hal
>
>
>
>
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
>
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
>   





More information about the general mailing list