Dragonfly topology having duplicated links
Description
Dragonfly topology isn't building links properly, resulting in duplicated connections between switches. This could possibly be a consequence of the refactoring I performed regarding hierarchical topologies, to generalize methods and attributes for several topologies.
Methods CDFly::BuildLocalInterconnection()
and void CHierarchicalTopology::BuildInterconnection()
will probably be the origin of the problem, and also the methods that are called inside them (CDFlyGroup::ConnectLocalPorts()
and CDFlyGroup::ConnectGlobalPort
).
Reproduce the issue
Checkout to commit a772e15c, run a Dragonfly unit test (for example, dfly_a2_h3_p3
) and check the values of m_pChannelList
. In this particular topology, for example, the link SW0[4] -- SW1[4]
appears at least twice in the list, in positions 4 and 11.