Skip to contentSkip to conversation

Add flags to OSM_EVENT_ID_UCAST_ROUTING_DONE

PATCH New Hal Rosenstock 1 participant 1 message Jul 3, 2013 InfiniBand

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Add flags to OSM_EVENT_ID_UCAST_ROUTING_DONE

to be able to discern between ucast routing done when rerouting versus heavy sweep.

---

include/opensm/osm_event_plugin.h +6 -0
index 6b060e7..ca5a719 100644
@@ -94,6 +94,12 @@ typedef enum {
 	LFT_CHANGED_BLOCK = (1 << 1)
 } osm_epi_lft_change_flags_t;
 
+typedef enum {
+	UCAST_ROUTING_NONE,
+	UCAST_ROUTING_HEAVY_SWEEP,
+	UCAST_ROUTING_REROUTE
+} osm_epi_ucast_routing_flags_t;
+
 typedef struct osm_epi_lft_change_event {
 	osm_switch_t *p_sw;
 	osm_epi_lft_change_flags_t flags;
opensm/osm_state_mgr.c +3 -2
index 1b73834..0cc8162 100644
@@ -1190,7 +1190,7 @@ static void do_sweep(osm_sm_t * sm)
 					"REROUTE COMPLETE");
 			osm_opensm_report_event(sm->p_subn->p_osm,
 						OSM_EVENT_ID_UCAST_ROUTING_DONE,
-						NULL);
+						(void *) UCAST_ROUTING_REROUTE);
 			return;
 		}
 	}
@@ -1387,7 +1387,8 @@ repeat_discovery:
 	OSM_LOG_MSG_BOX(sm->p_log, OSM_LOG_VERBOSE,
 			"SWITCHES CONFIGURED FOR UNICAST");
 	osm_opensm_report_event(sm->p_subn->p_osm,
-				OSM_EVENT_ID_UCAST_ROUTING_DONE, NULL);
+				OSM_EVENT_ID_UCAST_ROUTING_DONE,
+				(void *) UCAST_ROUTING_HEAVY_SWEEP);
 
 	if (!sm->p_subn->opt.disable_multicast) {
 		osm_mcast_mgr_process(sm, TRUE);
osmeventplugin/src/osmeventplugin.c +1 -1
index c5655fe..1eaf7ea 100644
@@ -195,7 +195,7 @@ static void report(void *_log, osm_epi_event_id_t event_id, void *event_data)
 		fprintf(log->log_file, "Heavy sweep completed\n");
 		break;
 	case OSM_EVENT_ID_UCAST_ROUTING_DONE:
-		fprintf(log->log_file, "Unicast routing completed\n");
+		fprintf(log->log_file, "Unicast routing completed %d\n", event_data);
 		break;
 	case OSM_EVENT_ID_STATE_CHANGE:
 		fprintf(log->log_file, "SM state changed\n");

--
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