On Thu, 23 Apr 2009 14:29:54 -0700 "Sean Hefty" <[email protected]> wrote:
> >There is also an ibdebug defined in libibmad. > > > >extern int ibdebug; > > > >This is the one it is using... :-/ I think there should be a wrapper > >function. Perhaps madrpc_show_errors? > > Yes - that's the one it picks up. Adding a wrapper makes sense to me. (I > don't > think that declaring a variable as extern is sufficient to share it across > library boundaries in windows.) > Patch below. From: Ira Weiny <[email protected]> Date: Thu, 23 Apr 2009 15:08:28 -0700 Subject: [PATCH] libibmad: create a wrapper for ibdebug and make libibnetdisc use it Signed-off-by: Ira Weiny <[email protected]> --- infiniband-diags/libibnetdisc/src/ibnetdisc.c | 7 +++++-- infiniband-diags/libibnetdisc/src/internal.h | 2 +- libibmad/include/infiniband/mad.h | 3 +-- libibmad/src/gs.c | 1 + libibmad/src/libibmad.map | 1 + libibmad/src/mad_internal.h | 2 ++ libibmad/src/portid.c | 1 + libibmad/src/rpc.c | 5 +++++ 8 files changed, 17 insertions(+), 5 deletions(-) diff --git a/infiniband-diags/libibnetdisc/src/ibnetdisc.c b/infiniband-diags/libibnetdisc/src/ibnetdisc.c index 410e2dd..cee4c95 100644 --- a/infiniband-diags/libibnetdisc/src/ibnetdisc.c +++ b/infiniband-diags/libibnetdisc/src/ibnetdisc.c @@ -59,6 +59,7 @@ static int timeout_ms = 2000; static int show_progress = 0; +static int ibnd_debug_flg = 0; void decode_port_info(ibnd_port_t *port) @@ -638,11 +639,13 @@ void ibnd_debug(int i) { if (i) { - ibdebug++; + ibnd_debug_flg = 1; + madrpc_show_debug(1); madrpc_show_errors(1); umad_debug(i); } else { - ibdebug = 0; + ibnd_debug_flg = 0; + madrpc_show_debug(0); madrpc_show_errors(0); umad_debug(0); } diff --git a/infiniband-diags/libibnetdisc/src/internal.h b/infiniband-diags/libibnetdisc/src/internal.h index 4e6bb18..58ba2a8 100644 --- a/infiniband-diags/libibnetdisc/src/internal.h +++ b/infiniband-diags/libibnetdisc/src/internal.h @@ -43,7 +43,7 @@ #define MAXHOPS 63 #define IBND_DEBUG(fmt, ...) \ - if (ibdebug) { \ + if (ibnd_debug_flg) { \ printf("%s:%u; " fmt, __FILE__, __LINE__, ## __VA_ARGS__); \ } #define IBND_ERROR(fmt, ...) \ diff --git a/libibmad/include/infiniband/mad.h b/libibmad/include/infiniband/mad.h index b6f4b60..1fbbf1c 100644 --- a/libibmad/include/infiniband/mad.h +++ b/libibmad/include/infiniband/mad.h @@ -733,6 +733,7 @@ MAD_EXPORT int mad_build_pkt(void *umad, ib_rpc_t * rpc, ib_portid_t * dport, /* New interface */ MAD_EXPORT void madrpc_show_errors(int set); +MAD_EXPORT void madrpc_show_debug(int set); MAD_EXPORT int madrpc_set_retries(int retries); MAD_EXPORT int madrpc_set_timeout(int timeout); MAD_EXPORT struct ibmad_port *mad_rpc_open_port(char *dev_name, int dev_port, @@ -892,8 +893,6 @@ MAD_EXPORT ib_mad_dump_fn mad_dump_switchinfo, mad_dump_perfcounters, mad_dump_perfcounters_ext, mad_dump_perfcounters_xmt_sl, mad_dump_perfcounters_rcv_sl; -extern int ibdebug; - #if __BYTE_ORDER == __LITTLE_ENDIAN #ifndef ntohll static inline uint64_t ntohll(uint64_t x) diff --git a/libibmad/src/gs.c b/libibmad/src/gs.c index dbca9e9..eea4a29 100644 --- a/libibmad/src/gs.c +++ b/libibmad/src/gs.c @@ -41,6 +41,7 @@ #include <infiniband/umad.h> #include <infiniband/mad.h> +#include "mad_internal.h" #undef DEBUG #define DEBUG if (ibdebug) IBWARN diff --git a/libibmad/src/libibmad.map b/libibmad/src/libibmad.map index 6b77784..67c32bb 100644 --- a/libibmad/src/libibmad.map +++ b/libibmad/src/libibmad.map @@ -80,6 +80,7 @@ IBMAD_1.3 { madrpc_set_retries; madrpc_set_timeout; madrpc_show_errors; + madrpc_show_debug; ib_path_query; sa_call; sa_rpc_call; diff --git a/libibmad/src/mad_internal.h b/libibmad/src/mad_internal.h index 24418cc..0038197 100644 --- a/libibmad/src/mad_internal.h +++ b/libibmad/src/mad_internal.h @@ -44,4 +44,6 @@ struct ibmad_port { extern struct ibmad_port *ibmp; +extern int ibdebug; + #endif /* _MAD_INTERNAL_H_ */ diff --git a/libibmad/src/portid.c b/libibmad/src/portid.c index de9e2d3..773fa5b 100644 --- a/libibmad/src/portid.c +++ b/libibmad/src/portid.c @@ -40,6 +40,7 @@ #include <string.h> #include <infiniband/mad.h> +#include "mad_internal.h" #undef DEBUG #define DEBUG if (ibdebug) IBWARN diff --git a/libibmad/src/rpc.c b/libibmad/src/rpc.c index ebeb835..78e68a8 100644 --- a/libibmad/src/rpc.c +++ b/libibmad/src/rpc.c @@ -72,6 +72,11 @@ void madrpc_show_errors(int set) iberrs = set; } +void madrpc_show_debug(int set) +{ + ibdebug = set; +} + void madrpc_save_mad(void *madbuf, int len) { save_mad = madbuf; -- 1.5.4.5 _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
