OpenSM: Set retries to 0 if RMPP (in vendor layer)
With this change, able to interoperate with Solaris 10 SA client (which
uses RMPP) with OpenSM
Signed-off-by: Hal Rosenstock <[EMAIL PROTECTED]>
Index: osm_vendor_ibumad.c
===================================================================
--- osm_vendor_ibumad.c (revision 2567)
+++ osm_vendor_ibumad.c (working copy)
@@ -828,6 +828,7 @@
ib_mad_t* const p_mad = osm_madw_get_mad_ptr( p_madw );
ib_sa_mad_t* const p_sa = (ib_sa_mad_t *)p_mad;
int ret = -1;
+ int is_rmpp = 0;
#ifndef VENDOR_RMPP_SUPPORT
uint32_t paylen = 0;
#endif
@@ -860,7 +861,8 @@
p_sa->rmpp_flags = 0;
p_sa->rmpp_status = 0;
#ifdef VENDOR_RMPP_SUPPORT
- }
+ } else
+ is_rmpp = 1;
osm_log( p_vend->p_log, OSM_LOG_ERROR, "osm_vendor_send: RMPP
%d length %d\n", ib_rmpp_is_flag_set((ib_rmpp_mad_t *)p_sa,
IB_RMPP_FLAG_ACTIVE), p_madw->mad_size);
#else
} else {
@@ -882,7 +884,7 @@
if ((ret = umad_send(p_bind->port_id, p_bind->agent_id, p_vw->umad,
p_madw->mad_size,
resp_expected ? p_vend->timeout : 0,
- p_vend->max_retries)) < 0) {
+ is_rmpp ? 0 : p_vend->max_retries)) < 0) {
osm_log( p_vend->p_log, OSM_LOG_ERROR, "osm_vendor_send: Send
failed %d (%m).\n", ret);
(*p_bind->send_err_callback)(p_bind->client_context, p_madw);
/* cb frees madw */
if (resp_expected)
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general