[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