[openib-general] [PATCH] OpenSM: Set retries to 0 if RMPP
Hal Rosenstock
halr at voltaire.com
Tue Jun 7 15:12:49 PDT 2005
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 <halr at voltaire.com>
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)
More information about the general
mailing list