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

Reply via email to