User Manual
Rev 2.2-1.0.1
Mellanox Technologies
177
The BFS tracks link direction (up or down) and avoid steps that will perform up after a down
step was used.
2. Once MinHop matrices exist, each switch is visited and for each target LID a decision is
made as to what port should be used to get to that LID.
This step is common to standard and
Up/Down routing. Each port has a counter counting the number of target LIDs going through
it. When there are multiple alternative ports with same MinHop to a LID, the one with less
previously assigned ports is selected.
If LMC > 0, more checks are added. Within each group of LIDs assigned to same target
port:
a. Use only ports which have same MinHop
b. First prefer the ones that go to different systemImageGuid (then the previous LID of the same LMC group)
c. If none, prefer those which go through another NodeGuid
d. Fall back to the number of paths method (if all go to same node).
8.5.1 Effect of Topology Changes
If a link is added or removed, OpenSM may not recalculate the routes that do not have to change.
A route has to change if the port is no longer UP or no longer the MinHop. When routing changes
are performed, the same algorithm for balancing the routes is invoked.
In the case of using the file based routing, any topology changes are currently ignored. The 'file'
routing engine just loads the LFT
s from the file specified, with no reaction to real topology.
Obviously, this will not be able to recheck LIDs (by GUID) for disconnected nodes, and LFTs for
non-existent switches will be skipped. Multicast is not affected by 'file' routing engine (this uses
min hop tables).
8.5.2 Min Hop Algorithm
The Min Hop algorithm is invoked by default if no routing algorithm is specified. It can also be
invoked by specifying '-R minhop'.
The Min Hop algorithm is divided into two stages: computation of min-hop tables on every
switch and LFT output port assignment. Link subscription is also equalized with the ability to
override based on port GUID.
The latter is supplied by:
-i <equalize-ignore-guids-file>
-ignore-guids <equalize-ignore-guids-file>
This option provides the means to define a set of ports (by guids)
that will be ignored by the link load equalization algorithm.
LMC awareness routes based on (remote) system or switch basis.