From 21e48a88a926376a1ec6757615b468032e801483 Mon Sep 17 00:00:00 2001 From: shefty Date: Mon, 2 Mar 2009 23:30:06 +0000 Subject: [PATCH] libibmad: update to commit 1f5fdf3dfc69733a427520198bcbdd03645bb326 Needed update to exported function list. Signed-off-by: Sean Hefty git-svn-id: svn://openib.tc.cornell.edu/gen1@1997 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- trunk/ulp/libibmad/include/infiniband/mad.h | 103 ++++++++------ .../ulp/libibmad/include/infiniband/mad_osd.h | 2 + trunk/ulp/libibmad/src/Sources | 6 +- trunk/ulp/libibmad/src/dump.c | 10 ++ trunk/ulp/libibmad/src/fields.c | 42 +++++- trunk/ulp/libibmad/src/gs.c | 126 +----------------- trunk/ulp/libibmad/src/ibmad_exports.src | 9 +- trunk/ulp/libibmad/src/libibmad.map | 17 +-- 8 files changed, 130 insertions(+), 185 deletions(-) diff --git a/trunk/ulp/libibmad/include/infiniband/mad.h b/trunk/ulp/libibmad/include/infiniband/mad.h index 3095f347..5f9dea30 100644 --- a/trunk/ulp/libibmad/include/infiniband/mad.h +++ b/trunk/ulp/libibmad/include/infiniband/mad.h @@ -127,12 +127,23 @@ enum SMI_ATTR_ID { enum SA_ATTR_ID { IB_SA_ATTR_NOTICE = 0x02, IB_SA_ATTR_INFORMINFO = 0x03, + IB_SA_ATTR_NODERECORD = 0x11, IB_SA_ATTR_PORTINFORECORD = 0x12, + IB_SA_ATTR_SL2VLTABLERECORD = 0x13, + IB_SA_ATTR_SWITCHINFORECORD = 0x14, + IB_SA_ATTR_LFTRECORD = 0x15, + IB_SA_ATTR_RFTRECORD = 0x16, + IB_SA_ATTR_MFTRECORD = 0x17, + IB_SA_ATTR_SMINFORECORD = 0x18, IB_SA_ATTR_LINKRECORD = 0x20, + IB_SA_ATTR_GUIDINFORECORD = 0x30, IB_SA_ATTR_SERVICERECORD = 0x31, + IB_SA_ATTR_PKEYTABLERECORD = 0x33, IB_SA_ATTR_PATHRECORD = 0x35, + IB_SA_ATTR_VLARBTABLERECORD = 0x36, IB_SA_ATTR_MCRECORD = 0x38, IB_SA_ATTR_MULTIPATH = 0x3a, + IB_SA_ATTR_INFORMINFORECORD = 0xf3, IB_SA_ATTR_LAST }; @@ -142,7 +153,8 @@ enum GSI_ATTR_ID { IB_GSI_PORT_SAMPLES_RESULT = 0x11, IB_GSI_PORT_COUNTERS = 0x12, IB_GSI_PORT_COUNTERS_EXT = 0x1D, - + IB_GSI_PORT_XMIT_DATA_SL = 0x36, + IB_GSI_PORT_RCV_DATA_SL = 0x37, IB_GSI_ATTR_LAST }; @@ -551,6 +563,44 @@ enum MAD_FIELDS { IB_CPI_TRAP_QP_F, IB_CPI_TRAP_QKEY_F, + IB_PC_XMT_DATA_SL_FIRST_F, + IB_PC_XMT_DATA_SL0_F = IB_PC_XMT_DATA_SL_FIRST_F, + IB_PC_XMT_DATA_SL1_F, + IB_PC_XMT_DATA_SL2_F, + IB_PC_XMT_DATA_SL3_F, + IB_PC_XMT_DATA_SL4_F, + IB_PC_XMT_DATA_SL5_F, + IB_PC_XMT_DATA_SL6_F, + IB_PC_XMT_DATA_SL7_F, + IB_PC_XMT_DATA_SL8_F, + IB_PC_XMT_DATA_SL9_F, + IB_PC_XMT_DATA_SL10_F, + IB_PC_XMT_DATA_SL11_F, + IB_PC_XMT_DATA_SL12_F, + IB_PC_XMT_DATA_SL13_F, + IB_PC_XMT_DATA_SL14_F, + IB_PC_XMT_DATA_SL15_F, + IB_PC_XMT_DATA_SL_LAST_F, + + IB_PC_RCV_DATA_SL_FIRST_F, + IB_PC_RCV_DATA_SL0_F = IB_PC_RCV_DATA_SL_FIRST_F, + IB_PC_RCV_DATA_SL1_F, + IB_PC_RCV_DATA_SL2_F, + IB_PC_RCV_DATA_SL3_F, + IB_PC_RCV_DATA_SL4_F, + IB_PC_RCV_DATA_SL5_F, + IB_PC_RCV_DATA_SL6_F, + IB_PC_RCV_DATA_SL7_F, + IB_PC_RCV_DATA_SL8_F, + IB_PC_RCV_DATA_SL9_F, + IB_PC_RCV_DATA_SL10_F, + IB_PC_RCV_DATA_SL11_F, + IB_PC_RCV_DATA_SL12_F, + IB_PC_RCV_DATA_SL13_F, + IB_PC_RCV_DATA_SL14_F, + IB_PC_RCV_DATA_SL15_F, + IB_PC_RCV_DATA_SL_LAST_F, + IB_FIELD_LAST_ /* must be last */ }; @@ -737,7 +787,7 @@ MAD_EXPORT uint8_t *smp_query(void *buf, ib_portid_t * id, unsigned attrid, unsigned mod, unsigned timeout); MAD_EXPORT uint8_t *smp_set(void *buf, ib_portid_t * id, unsigned attrid, unsigned mod, unsigned timeout); -uint8_t *smp_query_via(void *buf, ib_portid_t * id, unsigned attrid, +MAD_EXPORT uint8_t *smp_query_via(void *buf, ib_portid_t * id, unsigned attrid, unsigned mod, unsigned timeout, const void *srcport); uint8_t *smp_set_via(void *buf, ib_portid_t * id, unsigned attrid, unsigned mod, unsigned timeout, const void *srcport); @@ -770,43 +820,13 @@ int ib_resolve_self_via(ib_portid_t * portid, int *portnum, ibmad_gid_t * gid, const void *srcport); /* gs.c */ -MAD_EXPORT uint8_t *perf_classportinfo_query(void *rcvbuf, ib_portid_t * dest, - int port, unsigned timeout); -MAD_EXPORT uint8_t *port_performance_query(void *rcvbuf, ib_portid_t * dest, - int port, unsigned timeout); -MAD_EXPORT uint8_t *port_performance_reset(void *rcvbuf, ib_portid_t * dest, - int port, unsigned mask, - unsigned timeout); -MAD_EXPORT uint8_t *port_performance_ext_query(void *rcvbuf, ib_portid_t * dest, - int port, unsigned timeout); -MAD_EXPORT uint8_t *port_performance_ext_reset(void *rcvbuf, ib_portid_t * dest, - int port, unsigned mask, - unsigned timeout); -MAD_EXPORT uint8_t *port_samples_control_query(void *rcvbuf, ib_portid_t * dest, - int port, unsigned timeout); -MAD_EXPORT uint8_t *port_samples_result_query(void *rcvbuf, ib_portid_t * dest, - int port, unsigned timeout); - -uint8_t *perf_classportinfo_query_via(void *rcvbuf, ib_portid_t * dest, - int port, unsigned timeout, - const void *srcport); -uint8_t *port_performance_query_via(void *rcvbuf, ib_portid_t * dest, int port, - unsigned timeout, const void *srcport); -uint8_t *port_performance_reset_via(void *rcvbuf, ib_portid_t * dest, int port, - unsigned mask, unsigned timeout, - const void *srcport); -uint8_t *port_performance_ext_query_via(void *rcvbuf, ib_portid_t * dest, - int port, unsigned timeout, - const void *srcport); -uint8_t *port_performance_ext_reset_via(void *rcvbuf, ib_portid_t * dest, - int port, unsigned mask, - unsigned timeout, const void *srcport); -uint8_t *port_samples_control_query_via(void *rcvbuf, ib_portid_t * dest, - int port, unsigned timeout, - const void *srcport); -uint8_t *port_samples_result_query_via(void *rcvbuf, ib_portid_t * dest, - int port, unsigned timeout, - const void *srcport); +MAD_EXPORT uint8_t *pma_query_via(void *rcvbuf, ib_portid_t * dest, int port, + unsigned timeout, unsigned id, + const void *srcport); + +MAD_EXPORT uint8_t *performance_reset_via(void *rcvbuf, ib_portid_t * dest, + int port, unsigned mask, unsigned timeout, + unsigned id, const void *srcport); /* dump.c */ MAD_EXPORT ib_mad_dump_fn mad_dump_int, mad_dump_uint, mad_dump_hex, mad_dump_rhex, @@ -819,7 +839,8 @@ MAD_EXPORT ib_mad_dump_fn mad_dump_mtu, mad_dump_vlcap, mad_dump_opervls, mad_dump_node_type, mad_dump_sltovl, mad_dump_vlarbitration, mad_dump_nodedesc, mad_dump_nodeinfo, mad_dump_portinfo, - mad_dump_switchinfo, mad_dump_perfcounters, mad_dump_perfcounters_ext; + mad_dump_switchinfo, mad_dump_perfcounters, mad_dump_perfcounters_ext, + mad_dump_perfcounters_xmt_sl, mad_dump_perfcounters_rcv_sl; extern int ibdebug; @@ -864,7 +885,7 @@ static inline uint64_t htonll(uint64_t x) exit(-1); \ } while(0) -void xdump(FILE * file, char *msg, void *p, int size); +MAD_EXPORT void xdump(FILE * file, char *msg, void *p, int size); END_C_DECLS #endif /* _MAD_H_ */ diff --git a/trunk/ulp/libibmad/include/infiniband/mad_osd.h b/trunk/ulp/libibmad/include/infiniband/mad_osd.h index 1308f889..dde6e3a6 100644 --- a/trunk/ulp/libibmad/include/infiniband/mad_osd.h +++ b/trunk/ulp/libibmad/include/infiniband/mad_osd.h @@ -48,6 +48,8 @@ typedef unsigned __int64 uint64_t; #define MAD_EXPORT __declspec(dllexport) +#define __attribute__(X) + #if !defined( __cplusplus ) #define inline __inline #endif diff --git a/trunk/ulp/libibmad/src/Sources b/trunk/ulp/libibmad/src/Sources index 11df62fe..e4876156 100644 --- a/trunk/ulp/libibmad/src/Sources +++ b/trunk/ulp/libibmad/src/Sources @@ -27,7 +27,11 @@ SOURCES = \ smp.c \ vendor.c -INCLUDES = ..\include\infiniband;..\..\libibmad\include;..\..\libibverbs\include;..\..\libibumad\include;..\..\..\inc;..\..\..\inc\user; +INCLUDES = ..\include\infiniband;\ + ..\..\libibmad\include;\ + ..\..\libibverbs\include;\ + ..\..\libibumad\include;\ + ..\..\..\inc;..\..\..\inc\user; USER_C_FLAGS = $(USER_C_FLAGS) -DEXPORT_IBMAD_SYMBOLS diff --git a/trunk/ulp/libibmad/src/dump.c b/trunk/ulp/libibmad/src/dump.c index 3b491588..e75e178e 100644 --- a/trunk/ulp/libibmad/src/dump.c +++ b/trunk/ulp/libibmad/src/dump.c @@ -699,6 +699,16 @@ void mad_dump_perfcounters_ext(char *buf, int bufsz, void *val, int valsz) _dump_fields(buf, bufsz, val, IB_PC_EXT_FIRST_F, IB_PC_EXT_LAST_F); } +void mad_dump_perfcounters_xmt_sl(char *buf, int bufsz, void *val, int valsz) +{ + _dump_fields(buf, bufsz, val, IB_PC_XMT_DATA_SL_FIRST_F, IB_PC_XMT_DATA_SL_LAST_F); +} + +void mad_dump_perfcounters_rcv_sl(char *buf, int bufsz, void *val, int valsz) +{ + _dump_fields(buf, bufsz, val, IB_PC_RCV_DATA_SL_FIRST_F, IB_PC_RCV_DATA_SL_LAST_F); +} + void xdump(FILE * file, char *msg, void *p, int size) { #define HEX(x) ((x) < 10 ? '0' + (x) : 'a' + ((x) -10)) diff --git a/trunk/ulp/libibmad/src/fields.c b/trunk/ulp/libibmad/src/fields.c index 08d0ccb6..7b69310f 100644 --- a/trunk/ulp/libibmad/src/fields.c +++ b/trunk/ulp/libibmad/src/fields.c @@ -95,7 +95,7 @@ static const ib_field_t ib_mad_f[] = { {BE_OFFS(272, 16), "DrSmpSLID", mad_dump_hex}, /* word 10,11 (36-43 bytes) */ - {0, 0}, /* IB_SA_MKEY_F - reserved as invalid */ + {288, 64, "SaSMkey", mad_dump_hex}, /* word 12 (44-47 bytes) */ {BE_OFFS(46 * 8, 16), "SaAttrOffs", mad_dump_uint}, @@ -123,8 +123,8 @@ static const ib_field_t ib_mad_f[] = { */ {0, 64, "Mkey", mad_dump_hex}, {64, 64, "GidPrefix", mad_dump_hex}, - {BITSOFFS(128, 16), "Lid", mad_dump_hex}, - {BITSOFFS(144, 16), "SMLid", mad_dump_hex}, + {BITSOFFS(128, 16), "Lid", mad_dump_uint}, + {BITSOFFS(144, 16), "SMLid", mad_dump_uint}, {160, 32, "CapMask", mad_dump_portcapmask}, {BITSOFFS(192, 16), "DiagCode", mad_dump_hex}, {BITSOFFS(208, 16), "MkeyLeasePeriod", mad_dump_uint}, @@ -402,6 +402,42 @@ static const ib_field_t ib_mad_f[] = { {BITSOFFS(520, 24), "TrapQP", mad_dump_hex}, {544, 32, "TrapQKey", mad_dump_hex}, + {32, 32, "XmtDataSL0", mad_dump_uint}, + {64, 32, "XmtDataSL1", mad_dump_uint}, + {96, 32, "XmtDataSL2", mad_dump_uint}, + {128, 32, "XmtDataSL3", mad_dump_uint}, + {160, 32, "XmtDataSL4", mad_dump_uint}, + {196, 32, "XmtDataSL5", mad_dump_uint}, + {224, 32, "XmtDataSL6", mad_dump_uint}, + {256, 32, "XmtDataSL7", mad_dump_uint}, + {288, 32, "XmtDataSL8", mad_dump_uint}, + {320, 32, "XmtDataSL9", mad_dump_uint}, + {352, 32, "XmtDataSL10", mad_dump_uint}, + {384, 32, "XmtDataSL11", mad_dump_uint}, + {416, 32, "XmtDataSL12", mad_dump_uint}, + {448, 32, "XmtDataSL13", mad_dump_uint}, + {480, 32, "XmtDataSL14", mad_dump_uint}, + {512, 32, "XmtDataSL15", mad_dump_uint}, + {0, 0}, /* IB_PC_XMT_DATA_SL_LAST_F */ + + {32, 32, "RcvDataSL0", mad_dump_uint}, + {64, 32, "RcvDataSL1", mad_dump_uint}, + {96, 32, "RcvDataSL2", mad_dump_uint}, + {128, 32, "RcvDataSL3", mad_dump_uint}, + {160, 32, "RcvDataSL4", mad_dump_uint}, + {196, 32, "RcvDataSL5", mad_dump_uint}, + {224, 32, "RcvDataSL6", mad_dump_uint}, + {256, 32, "RcvDataSL7", mad_dump_uint}, + {288, 32, "RcvDataSL8", mad_dump_uint}, + {320, 32, "RcvDataSL9", mad_dump_uint}, + {352, 32, "RcvDataSL10", mad_dump_uint}, + {384, 32, "RcvDataSL11", mad_dump_uint}, + {416, 32, "RcvDataSL12", mad_dump_uint}, + {448, 32, "RcvDataSL13", mad_dump_uint}, + {480, 32, "RcvDataSL14", mad_dump_uint}, + {512, 32, "RcvDataSL15", mad_dump_uint}, + {0, 0}, /* IB_PC_RCV_DATA_SL_LAST_F */ + {0, 0} /* IB_FIELD_LAST_ */ }; diff --git a/trunk/ulp/libibmad/src/gs.c b/trunk/ulp/libibmad/src/gs.c index d2c45741..5b7ed886 100644 --- a/trunk/ulp/libibmad/src/gs.c +++ b/trunk/ulp/libibmad/src/gs.c @@ -45,9 +45,9 @@ #undef DEBUG #define DEBUG if (ibdebug) IBWARN -static uint8_t *pma_query_via(void *rcvbuf, ib_portid_t * dest, int port, - unsigned timeout, unsigned id, - const void *srcport) +uint8_t *pma_query_via(void *rcvbuf, ib_portid_t * dest, int port, + unsigned timeout, unsigned id, + const void *srcport) { ib_rpc_t rpc = { 0 }; int lid = dest->lid; @@ -81,42 +81,9 @@ static uint8_t *pma_query_via(void *rcvbuf, ib_portid_t * dest, int port, } } -uint8_t *pma_query(void *rcvbuf, ib_portid_t * dest, int port, unsigned timeout, - unsigned id) -{ - return pma_query_via(rcvbuf, dest, port, timeout, id, NULL); -} - -uint8_t *perf_classportinfo_query_via(void *rcvbuf, ib_portid_t * dest, - int port, unsigned timeout, - const void *srcport) -{ - return pma_query_via(rcvbuf, dest, port, timeout, CLASS_PORT_INFO, - srcport); -} - -uint8_t *perf_classportinfo_query(void *rcvbuf, ib_portid_t * dest, int port, - unsigned timeout) -{ - return pma_query(rcvbuf, dest, port, timeout, CLASS_PORT_INFO); -} - -uint8_t *port_performance_query_via(void *rcvbuf, ib_portid_t * dest, int port, - unsigned timeout, const void *srcport) -{ - return pma_query_via(rcvbuf, dest, port, timeout, - IB_GSI_PORT_COUNTERS, srcport); -} - -uint8_t *port_performance_query(void *rcvbuf, ib_portid_t * dest, int port, - unsigned timeout) -{ - return pma_query(rcvbuf, dest, port, timeout, IB_GSI_PORT_COUNTERS); -} - -static uint8_t *performance_reset_via(void *rcvbuf, ib_portid_t * dest, - int port, unsigned mask, unsigned timeout, - unsigned id, const void *srcport) +uint8_t *performance_reset_via(void *rcvbuf, ib_portid_t * dest, + int port, unsigned mask, unsigned timeout, + unsigned id, const void *srcport) { ib_rpc_t rpc = { 0 }; int lid = dest->lid; @@ -156,84 +123,3 @@ static uint8_t *performance_reset_via(void *rcvbuf, ib_portid_t * dest, return madrpc(&rpc, dest, rcvbuf, rcvbuf); } } - -static uint8_t *performance_reset(void *rcvbuf, ib_portid_t * dest, int port, - unsigned mask, unsigned timeout, unsigned id) -{ - return performance_reset_via(rcvbuf, dest, port, mask, timeout, - id, NULL); -} - -uint8_t *port_performance_reset_via(void *rcvbuf, ib_portid_t * dest, int port, - unsigned mask, unsigned timeout, - const void *srcport) -{ - return performance_reset_via(rcvbuf, dest, port, mask, timeout, - IB_GSI_PORT_COUNTERS, srcport); -} - -uint8_t *port_performance_reset(void *rcvbuf, ib_portid_t * dest, int port, - unsigned mask, unsigned timeout) -{ - return performance_reset(rcvbuf, dest, port, mask, timeout, - IB_GSI_PORT_COUNTERS); -} - -uint8_t *port_performance_ext_query_via(void *rcvbuf, ib_portid_t * dest, - int port, unsigned timeout, - const void *srcport) -{ - return pma_query_via(rcvbuf, dest, port, timeout, - IB_GSI_PORT_COUNTERS_EXT, srcport); -} - -uint8_t *port_performance_ext_query(void *rcvbuf, ib_portid_t * dest, int port, - unsigned timeout) -{ - return pma_query(rcvbuf, dest, port, timeout, IB_GSI_PORT_COUNTERS_EXT); -} - -uint8_t *port_performance_ext_reset_via(void *rcvbuf, ib_portid_t * dest, - int port, unsigned mask, - unsigned timeout, const void *srcport) -{ - return performance_reset_via(rcvbuf, dest, port, mask, timeout, - IB_GSI_PORT_COUNTERS_EXT, srcport); -} - -uint8_t *port_performance_ext_reset(void *rcvbuf, ib_portid_t * dest, int port, - unsigned mask, unsigned timeout) -{ - return performance_reset(rcvbuf, dest, port, mask, timeout, - IB_GSI_PORT_COUNTERS_EXT); -} - -uint8_t *port_samples_control_query_via(void *rcvbuf, ib_portid_t * dest, - int port, unsigned timeout, - const void *srcport) -{ - return pma_query_via(rcvbuf, dest, port, timeout, - IB_GSI_PORT_SAMPLES_CONTROL, srcport); -} - -uint8_t *port_samples_control_query(void *rcvbuf, ib_portid_t * dest, int port, - unsigned timeout) -{ - return pma_query(rcvbuf, dest, port, timeout, - IB_GSI_PORT_SAMPLES_CONTROL); -} - -uint8_t *port_samples_result_query_via(void *rcvbuf, ib_portid_t * dest, - int port, unsigned timeout, - const void *srcport) -{ - return pma_query_via(rcvbuf, dest, port, timeout, - IB_GSI_PORT_SAMPLES_RESULT, srcport); -} - -uint8_t *port_samples_result_query(void *rcvbuf, ib_portid_t * dest, int port, - unsigned timeout) -{ - return pma_query(rcvbuf, dest, port, timeout, - IB_GSI_PORT_SAMPLES_RESULT); -} diff --git a/trunk/ulp/libibmad/src/ibmad_exports.src b/trunk/ulp/libibmad/src/ibmad_exports.src index cdc0aa08..cbd88037 100644 --- a/trunk/ulp/libibmad/src/ibmad_exports.src +++ b/trunk/ulp/libibmad/src/ibmad_exports.src @@ -34,20 +34,15 @@ EXPORTS madrpc_show_errors; smp_query; smp_set; + smp_query_via; ib_vendor_call; ib_path_query; ib_resolve_smlid; ib_resolve_portid_str; ib_resolve_self; - perf_classportinfo_query; - port_performance_query; - port_performance_reset; - port_performance_ext_query; - port_performance_ext_reset; - port_samples_control_query; - port_samples_result_query; portid2str; portid2portnum; str2drpath; drpath2str; + xdump #endif diff --git a/trunk/ulp/libibmad/src/libibmad.map b/trunk/ulp/libibmad/src/libibmad.map index f944d865..8db9e659 100644 --- a/trunk/ulp/libibmad/src/libibmad.map +++ b/trunk/ulp/libibmad/src/libibmad.map @@ -22,6 +22,8 @@ IBMAD_1.3 { mad_dump_opervls; mad_dump_perfcounters; mad_dump_perfcounters_ext; + mad_dump_perfcounters_xmt_sl; + mad_dump_perfcounters_rcv_sl; mad_dump_physportstate; mad_dump_portcapmask; mad_dump_portinfo; @@ -40,13 +42,8 @@ IBMAD_1.3 { mad_set_field64; mad_get_array; mad_set_array; - perf_classportinfo_query; - port_performance_query; - port_performance_reset; - port_performance_ext_query; - port_performance_ext_reset; - port_samples_control_query; - port_samples_result_query; + pma_query_via; + performance_reset_via; mad_build_pkt; mad_decode_field; mad_encode; @@ -97,11 +94,5 @@ IBMAD_1.3 { ib_resolve_portid_str_via; ib_resolve_self_via; perf_classportinfo_query_via; - port_performance_query_via; - port_performance_reset_via; - port_performance_ext_query_via; - port_performance_ext_reset_via; - port_samples_control_query_via; - port_samples_result_query_via; local: *; }; -- 2.46.0