--- include/opensm/osm_event_plugin.h	2011-08-08 18:40:19.000000000 -0500
+++ include/opensm/osm_event_plugin.h	2011-10-24 08:13:05.000000000 -0500
@@ -77,7 +77,9 @@
 	OSM_EVENT_ID_UCAST_ROUTING_DONE,
 	OSM_EVENT_ID_STATE_CHANGE,
 	OSM_EVENT_ID_SA_DB_DUMPED,
-	OSM_EVENT_ID_MAX
+	OSM_EVENT_ID_LIGHT_SWEEP_START,
+	OSM_EVENT_ID_LIGHT_SWEEP_DONE,
+	OSM_EVENT_ID_MAX,
 } osm_epi_event_id_t;

 typedef struct osm_epi_port_id {
--- opensm/osm_state_mgr.c.orig	2011-08-08 18:36:38.000000000 -0500
+++ opensm/osm_state_mgr.c	2011-10-24 08:57:48.000000000 -0500
@@ -620,6 +620,9 @@
 	}

 	OSM_LOG_MSG_BOX(sm->p_log, OSM_LOG_VERBOSE, "INITIATING LIGHT SWEEP");
+	osm_opensm_report_event(sm->p_subn->p_osm,
+				OSM_EVENT_ID_LIGHT_SWEEP_START, NULL);
+
 	CL_PLOCK_ACQUIRE(sm->p_lock);
 	cl_qmap_apply_func(p_sw_tbl, state_mgr_get_sw_info, sm);
 	CL_PLOCK_RELEASE(sm->p_lock);
@@ -1113,6 +1116,8 @@
 					OSM_EVENT_ID_SA_DB_DUMPED, NULL);
 			OSM_LOG_MSG_BOX(sm->p_log, OSM_LOG_VERBOSE,
 					"LIGHT SWEEP COMPLETE");
+			osm_opensm_report_event(sm->p_subn->p_osm,
+						OSM_EVENT_ID_LIGHT_SWEEP_DONE, NULL);
 			return;
 		}
 	}
--- osmeventplugin/src/osmeventplugin.c	2011-10-24 08:05:04.000000000 -0500
+++ osmeventplugin/src/osmeventplugin.c	2011-10-24 08:05:55.000000000 -0500
@@ -176,6 +176,12 @@
 	case OSM_EVENT_ID_SUBNET_UP:
 		fprintf(log->log_file, "Subnet up reported\n");
 		break;
+	case OSM_EVENT_ID_LIGHT_SWEEP_START:
+		fprintf(log->log_file, "Light sweep started\n");
+		break;
+	case OSM_EVENT_ID_LIGHT_SWEEP_DONE:
+		fprintf(log->log_file, "Light sweep completed\n");
+		break;
 	case OSM_EVENT_ID_HEAVY_SWEEP_START:
 		fprintf(log->log_file, "Heavy sweep started\n");
 		break;
