[LIBIBUMAD] allow QP1 MAD traffic.
authorstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Mon, 29 Mar 2010 19:02:03 +0000 (19:02 +0000)
committerstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Mon, 29 Mar 2010 19:02:03 +0000 (19:02 +0000)
Use correct management class version.

git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2760 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

ulp/libibumad/src/umad.cpp

index 8fd70b1..4152b41 100644 (file)
@@ -632,9 +632,9 @@ int umad_poll(int portid, int timeout_ms)
        return 0;\r
 }\r
 \r
-__declspec(dllexport)\r
-int umad_register_oui(int portid, int mgmt_class, uint8_t rmpp_version,\r
-                                         uint8_t oui[3], long method_mask[16/sizeof(long)])\r
+static int umad_reg_oui(int portid, int mgmt_class, int mgmt_version,\r
+                                               uint8_t rmpp_version, uint8_t oui[3],\r
+                                               long method_mask[16/sizeof(long)])\r
 {\r
        WM_REGISTER reg;\r
        UINT64          id = 0;\r
@@ -645,7 +645,7 @@ int umad_register_oui(int portid, int mgmt_class, uint8_t rmpp_version,
        reg.Qpn = (mgmt_class == 0x01 || mgmt_class == 0x81) ? 0 : htonl(1);\r
        reg.Port = ports[portid].port_num;\r
        reg.Class = (uint8_t) mgmt_class;\r
-       reg.Version = 1;\r
+       reg.Version = (uint8_t) mgmt_version;\r
        memset(reg.Reserved, 0, sizeof(reg.Reserved));\r
        memcpy(reg.Oui, oui, sizeof(oui));\r
        if (method_mask != NULL) {\r
@@ -658,6 +658,14 @@ int umad_register_oui(int portid, int mgmt_class, uint8_t rmpp_version,
        return (int) id;\r
 }\r
 \r
+__declspec(dllexport)\r
+int umad_register_oui(int portid, int mgmt_class, uint8_t rmpp_version,\r
+                                         uint8_t oui[3], long method_mask[16/sizeof(long)])\r
+{\r
+       return umad_reg_oui(portid, mgmt_class, 1,\r
+                                               rmpp_version, oui, method_mask);\r
+}\r
+\r
 __declspec(dllexport)\r
 int umad_register(int portid, int mgmt_class, int mgmt_version,\r
                                  uint8_t rmpp_version, long method_mask[16/sizeof(long)])\r
@@ -665,7 +673,8 @@ int umad_register(int portid, int mgmt_class, int mgmt_version,
        uint8_t oui[3];\r
 \r
        memset(oui, 0, 3);\r
-       return umad_register_oui(portid, mgmt_class, rmpp_version, oui, method_mask);\r
+       return umad_reg_oui(portid, mgmt_class, mgmt_version,\r
+                                               rmpp_version, oui, method_mask);\r
 }\r
 \r
 __declspec(dllexport)\r