[openib-general] [PATCH] OpenSM - recognize port change not as duplicated guids

Yael Kalka yael at mellanox.co.il
Sun Mar 19 00:28:28 PST 2006


Hi Hal,

This is a patch to solve the issue of port move during heavy sweep
being recognized as duplicated guids. 
If the SM sees what seems to be duplicated guids, but it also received
an indication for immediatly forcing another heavy sweep (for example,
as a result of receiving trap 128) - then it shouldn't issue a
duplicated guids error (and exit), but just ignore and continue.
This means that only if the SM recognizes such a duplication in a
stable subnet it'll issue the error and exit.

Thanks,
Yael

Signed-off-by:  Yael Kalka <yael at mellanox.co.il>

Index: opensm/osm_node_info_rcv.c
===================================================================
--- opensm/osm_node_info_rcv.c	(revision 5882)
+++ opensm/osm_node_info_rcv.c	(working copy)
@@ -129,12 +129,17 @@ __osm_ni_rcv_set_links(
         }
         else
         {
-          if( osm_node_has_any_link( p_node, port_num ) )
+          if( osm_node_has_any_link( p_node, port_num ) && 
+              p_rcv->p_subn->force_immediate_heavy_sweep == FALSE )
           {
             /*
               Uh oh...
               This means that we found 2 nodes with the same guid,
               or a 12x link with lane reversal that is not configured correctly.
+              If the force_immediate_heavy_sweep == TRUE, then this might be a case
+              of port being moved (causing trap 128), and thus re-discovered. 
+              In this case - just continue. There will be another heavy sweep 
+              immediatly after, when the subnet is stable again.
             */
             char line[BUF_SIZE];
             char dr_new_path[BUF_SIZE];




More information about the general mailing list