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
