--- A/ulp/ipoib_NDIS6_CM/kernel/ipoib_debug.h	Tue Jan 11 17:58:16 2011
+++ B/ulp/ipoib_NDIS6_CM/kernel/ipoib_debug.h	Tue Jan 11 16:26:03 2011
@@ -104,11 +104,10 @@
 // USESUFFIX(IPOIB_EXIT, " [IPoIB] :%!FUNC!():]");
 // end_wpp
 
-#else
+#else	// !EVENT_TRACING
 
 #include <evntrace.h>
 
-
 /*
  * Debug macros
  */
@@ -139,6 +138,7 @@
 #define IPOIB_DBG_ERROR	(CL_DBG_ERROR | IPOIB_DBG_ERR)
 #define IPOIB_DBG_ALL	CL_DBG_ALL
 
+#endif //EVENT_TRACING
 
 #if DBG
 
@@ -183,30 +183,56 @@
 			{																\
 				cl_dbg_out( "0x%.2X ", ((uint8_t*)(ptr))[_loop_] );			\
 				if( (_loop_ + 1)% 16 == 0 )									\
-					cl_dbg_out("\n");											\
+					cl_dbg_out("\n");										\
 				else if( (_loop_ % 4 + 1) == 0 )							\
-					cl_dbg_out("  ");											\
+					cl_dbg_out("  ");										\
 			}																\
-			cl_dbg_out("\n");													\
+			cl_dbg_out("\n");												\
 		}																	\
 	}
 
-#else
+#define DIPOIB_PRINT IPOIB_PRINT
 
-#define IPOIB_PRINT(lvl, flags, msg)
+#else	// !DBG
 
+#define IPOIB_PRINT(lvl, flags, msg)
 #define IPOIB_PRINT_EXIT(_level_,_flag_,_msg_)
-
 #define IPOIB_ENTER(_flag_)
-
 #define IPOIB_EXIT(_flag_)
-
 #define IPOIB_TRACE_BYTES( lvl, ptr, len )
 
+#define DIPOIB_PRINT(_level_,_flag_,_msg_)
+
 #endif
 
-#endif //EVENT_TRACING
+#define XIPOIB_ENTER(_flag_)
+#define XIPOIB_EXIT(_flag_)
+#define XIPOIB_PRINT(_level_,_flag_,_msg_)
+
+
+#if	PERF_TRACK_ON
 
+#include <complib/cl_perf.h>
+
+#undef cl_perf_destroy
+#define cl_perf_destroy( p_perf, display ) \
+	ipoib_cl_perf_destroy( p_perf, display )
+
+void
+ipoib_cl_perf_destroy(
+	IN	cl_perf_t* const	p_perf,
+	IN	const boolean_t		display );
+
+#undef cl_perf_display
+#define cl_perf_display( p_perf ) \
+	ipoib_cl_perf_display( p_perf )
+
+void
+ipoib_cl_perf_display(
+	IN	const cl_perf_t* const	p_perf );
+
+// if you add a Perf counter, make sure you also add to the counter name to the
+// PerCounterName list defined in ipoib_debug.cpp.
 
 enum ipoib_perf_counters
 {
@@ -234,12 +260,16 @@
 			PostSend,
 			ProcessFailedSends,
 	SendCompBundle,
+	CMSendCompBundle,
 	SendCb,
 		PollSend,
 		SendComp,
 		FreeSendBuf,
 		RearmSend,
 		PortResume,
+	CMSendCb,
+		CMPollSend,
+		CMFreeSendBuf,
 	RecvCompBundle,
 	RecvCb,
 		PollRecv,
@@ -253,9 +283,17 @@
 			RecvDhcp,
 			RecvArp,
 			RecvGen,
+	CMRecvCb,
+		CMPollRecv,
+		CMFilterRecv,
+		CMRepostRecv,
+	CMBuildNBLArray,
+		CMPreparePkt,
+			CMGetNdisPkt,
 	BuildNBLArray,
 		PreparePkt,
 			GetNdisPkt,
+	CMRecvNdisIndicate,
 	RecvNdisIndicate,
 	PutRecvList,
 	RepostRecv,
@@ -270,8 +308,8 @@
 
 	/* Must be last! */
 	MaxPerf
-
 };
+#endif	/* PERF_TRACK_ON */
 
 
 enum ref_cnt_buckets
@@ -283,6 +321,11 @@
 	ref_repost,		/* only in __recv_mgr_repost */
 	ref_recv_cb,	/* only in __recv_cb */
 	ref_send_cb,	/* only in __send_cb */
+#if IPOIB_CM
+	ref_cm_recv_cb,	/* only in __recv_cm_cb */
+	ref_cm_send_cb,	/* only in __send_cm_cb */
+	ref_get_cm_recv,
+#endif
 	ref_port_up,
 	ref_get_bcast,
 	ref_bcast,		/* join and create, used as base only */
@@ -315,8 +358,24 @@
 	ref_mcast_join_failed = 500 + ref_join_mcast,
 
 	ref_port_info_cb = 100 + ref_port_up
-
 };
 
+#if DBG
+void dmp_ipoib_port_refs( ipoib_port_t *p_port, char *where OPTIONAL );
+#else
+#define dmp_ipoib_port_refs( a, ... )
+#endif
+
+char *
+_mk_mac_str(
+	IN		char *buf, const mac_addr_t *ma);
+
+char *
+mk_mac_str(
+	IN		const mac_addr_t			*ma);
+
+char *
+mk_mac_str2(
+	IN		mac_addr_t					*ma);
 
 #endif	/* _IPOIB_DEBUG_H_ */
