OpenSM/osm_resp.c: In osm_resp_make_resp_smp, set direction bit only if direct routed class
This change fixes two minor issues with osm_resp_make_resp_smp: 1. Get/Set responses always had direction bit set. 2. Trap represses never had direction bit set. The direction bit needs setting in direct routed responses and it doesn't exist in LID routed responses. Signed-off-by: Hal Rosenstock <[EMAIL PROTECTED]> Index: opensm/osm_resp.c =================================================================== --- opensm/osm_resp.c (revision 8931) +++ opensm/osm_resp.c (working copy) @@ -127,7 +127,7 @@ osm_resp_make_resp_smp( if (p_src_smp->method == IB_MAD_METHOD_GET || p_src_smp->method == IB_MAD_METHOD_SET ) { p_dest_smp->method = IB_MAD_METHOD_GET_RESP; - p_dest_smp->status = (ib_net16_t)(status | IB_SMP_DIRECTION); + p_dest_smp->status = status; } else if (p_src_smp->method == IB_MAD_METHOD_TRAP) { @@ -143,6 +143,9 @@ osm_resp_make_resp_smp( goto Exit; } + if (p_src_smp->mgmt_class == IB_MCLASS_SUBN_DIR) + p_dest_smp->status |= IB_SMP_DIRECTION; + p_dest_smp->dr_dlid = p_dest_smp->dr_slid; p_dest_smp->dr_slid = p_dest_smp->dr_dlid; memcpy( &p_dest_smp->data, p_payload, IB_SMP_DATA_SIZE ); _______________________________________________ openib-general mailing list openib-general@openib.org http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general