On 5/2/2013 8:15 AM, Jens Domke wrote:
> Recent tests on a large system revealed a problem with loops in the multicast 
> routing.
> Using DFSSSP together with the default mcast routing algorithm of OpenSM can
> produce loops in the fabric.
> 
> This patch adds the mcast_build_stree function to the DFSSSP routing 
> algorithm,
> so that DFSSSP is able to calculate the correct mcast forwarding tables for 
> the
> subnet.
> 
> It almost does the same steps as the default mcast routing, except that it
> uses the Dijkstra algorithm to generate the spanning tree instead of using the
> hop count information given by the unicast routing.
> 
> General overview of the algorithm in pseudo-code:
> 1) identify the ports, which are part of the multicast group
> 2) find the 'best' switch (depending on the hop count) for the mcast group,
>    which can be used as a root of the spanning tree
> 3) perform a dijkstra step with the root switch as starting point
>    to generate a spanning tree to all other switches in the subnet
> 4) build the mcast forwarding tables for relevant switches:
>    4.1) select a switch which has mcast member ports connected to it
>    4.2) set the downstream ports for the mcast member ports in the mcft
>    4.3) traverse towards the root of the spanning tree and set up-/downstream
>         ports on this path for all involved switches
>    4.4) goto 4.1 until all switches have been processed
> 
> The same mcast algorithm will be used for SSSP, because SSSP has the 
> potential to
> produce loops in the mcast forwarding table as well.
> 
> Signed-off-by: Jens Domke <[email protected]>

Thanks. Applied.

-- Hal
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to