[ofa-general] [BUG report / PATCH] fix race in the core multicast management
Sasha Khapyorsky
sashak at voltaire.com
Tue Sep 25 12:21:20 PDT 2007
On 06:20 Tue 25 Sep , Hal Rosenstock wrote:
> On Tue, 2007-09-25 at 15:00 +0200, Or Gerlitz wrote:
> > Sean Hefty wrote:
> > >>> node 1 <-> switch A <-> switch B <-> switch C <-> SA
> >
> > >> The host would only see port up/down events as of changes in the link
> > >> state in the local port or in the port which is connected to it through
> > >> the cable.
> >
> > > So, if you brought the link down/up between switches A & B, node 1
> > > wouldn't receive any events, but it would be removed from the multicast
> > > group?
> >
> > good catch!
> >
> > Indeed, when the link between switches A and B goes down, per the view
> > point of the SM, the whole sub-fabric across A is lost and hence the
> > node is dropped from all the multicast groups it is joined to.
>
> No, it is not (dropped from all multicast groups it is joined to). It
> may be removed from the multicast forwarding tables if there is no route
> available but it is still a member of the group.
I cannot see it. With normal flow OpenSM will get trap on switch ports
disconnection, this will trigger heavy sweep and whole A sub-fabrics
will be dropped right after discovery phase (including multicast groups
- it is in __osm_drop_mgr_remove_port()).
>
> > However, from the view point of the node, no port down is experienced.
> >
> > When the A-B link goes up, the SM discovers all nodes across A and
> > probes their ports, though this process a port active event --might-- be
> > generated by the HCA FW, but I am not sure its mandatory.
> >
> > Since the only trigger for ipoib to rejoin to multicast groups is
> > delivery of event by the hw driver, namely one of: port down/up, lid
> > change, sm lid change, client re-register. I think we might have a hole
> > here if none of these events is generated.
OpenSM will request client reregistration for all ports in A sub-fabric
when it will be connected back and discovered again.
Sasha
>
> It doesn't need to rejoin for this case. See above explanation.
>
> -- Hal
>
> > Please note that through this discovery, at least one mad is sent from
> > the SM to the node. If we enforce the SM to set the re-register bit
> > --each-- time it discovers a node, then the bug is solved.
> >
> > I will test this scheme and let you know what I get (with the voltaire
> > SM and mthca driver).
> >
> > Eitan, Michael - any insight on the matter?
> >
> > Or.
> >
> >
> > _______________________________________________
> > general mailing list
> > general at lists.openfabrics.org
> > http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
> >
> > To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
> _______________________________________________
> general mailing list
> general at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
>
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
More information about the general
mailing list