[ofa-general] [PATCH] osm_ucast_ftree.c Allow horizontal links between switches of max rank
Nicolas Morey-Chaisemartin
devel-ofed at morey-chaisemartin.com
Tue Jun 2 05:11:00 PDT 2009
Hi,
I've just run a few tests with your patch using io_guid_files and reverse_hops and it seems your patch introduces a bug.
We have a function to calculate the number per link and if I apply this patch it never returns which usually means there is a loop in the routing scheme.
I have had a quick look at your code.
One thing I'm not sure of is that when a reverse hop is done you increment both the reverse_hop counter and the current_hops one. Which mean when the hops count is calculate for sw_set_hops it is bigger than it is supposed to be.
What should probably be done is increment both but only use current_hops to calculate the number of hops done. reverse_hop will only be used to check if there are still reverse_hop credits left or not (which was its original purpose).
By changing the hops count in both call to set_hops_on_remote_sw to current_hops+1 and not current_hops+1 +2* reverse_hops, routing has no loops but results are different (some links are more loaded).
I'll run some more tests to see if I can figure this out.
Nicolas
Le 27/05/2009 12:07, Line.Holen at Sun.COM a écrit :
> This patch makes it legal to have cross links (horizontal links) between
> switches at max rank. These switches do have same rank, so hop count cannot
> be calculated based on rank anymore.
> The horizontal links are treated as downlinks. Switch A has a downlink to B
> while B has a downlink to A. Tests on lids and also number of hops makes sure
> that we don't loop back and forth across the link.
>
> Signed-off-by: Frank Olaf Sem-Jacobsen <frankose at simula.no>
> Signed-off-by: Line Holen <Line.Holen at sun.com>
>
More information about the general
mailing list