From c02efd07140e06e6f0d398e4e9f376edc4e0027a Mon Sep 17 00:00:00 2001 From: stansmith Date: Mon, 29 Mar 2010 19:02:03 +0000 Subject: [PATCH] [LIBIBUMAD] allow QP1 MAD traffic. 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 | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/ulp/libibumad/src/umad.cpp b/ulp/libibumad/src/umad.cpp index 8fd70b1f..4152b419 100644 --- a/ulp/libibumad/src/umad.cpp +++ b/ulp/libibumad/src/umad.cpp @@ -632,9 +632,9 @@ int umad_poll(int portid, int timeout_ms) return 0; } -__declspec(dllexport) -int umad_register_oui(int portid, int mgmt_class, uint8_t rmpp_version, - uint8_t oui[3], long method_mask[16/sizeof(long)]) +static int umad_reg_oui(int portid, int mgmt_class, int mgmt_version, + uint8_t rmpp_version, uint8_t oui[3], + long method_mask[16/sizeof(long)]) { WM_REGISTER reg; UINT64 id = 0; @@ -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); reg.Port = ports[portid].port_num; reg.Class = (uint8_t) mgmt_class; - reg.Version = 1; + reg.Version = (uint8_t) mgmt_version; memset(reg.Reserved, 0, sizeof(reg.Reserved)); memcpy(reg.Oui, oui, sizeof(oui)); if (method_mask != NULL) { @@ -658,6 +658,14 @@ int umad_register_oui(int portid, int mgmt_class, uint8_t rmpp_version, return (int) id; } +__declspec(dllexport) +int umad_register_oui(int portid, int mgmt_class, uint8_t rmpp_version, + uint8_t oui[3], long method_mask[16/sizeof(long)]) +{ + return umad_reg_oui(portid, mgmt_class, 1, + rmpp_version, oui, method_mask); +} + __declspec(dllexport) int umad_register(int portid, int mgmt_class, int mgmt_version, uint8_t rmpp_version, long method_mask[16/sizeof(long)]) @@ -665,7 +673,8 @@ int umad_register(int portid, int mgmt_class, int mgmt_version, uint8_t oui[3]; memset(oui, 0, 3); - return umad_register_oui(portid, mgmt_class, rmpp_version, oui, method_mask); + return umad_reg_oui(portid, mgmt_class, mgmt_version, + rmpp_version, oui, method_mask); } __declspec(dllexport) -- 2.17.1