[ofa-general] RE: [PATCH] srptools: eliminate libibcommon dependencies
Ishai Rabinovitz
ishai at mellanox.co.il
Thu Jan 8 01:30:15 PST 2009
Sasha,
Thanks, I applied all but the lest change (trans_id).
Why did you make it?
Ishai
> -----Original Message-----
> From: Sasha Khapyorsky [mailto:sashak at voltaire.com]
> Sent: Thursday, January 08, 2009 6:53 AM
> To: Vladimir Sokolovsky; Ishai Rabinovitz
> Cc: OpenFabrics General
> Subject: [PATCH] srptools: eliminate libibcommon dependencies
>
>
> Eliminate libibcommon dependencies - this library will be removed
soon.
>
> Signed-off-by: Sasha Khapyorsky <sashak at voltaire.com>
> ---
>
> On 23:51 Wed 07 Jan , Vladimir Sokolovsky wrote:
> >
> > Ishai (srptools maintainer) has reimplemented these functions in
> srptools,
>
> In order to eliminate libibcommon stuff something like this is needed
> too (compilation only was tested).
>
> Sasha
>
> Makefile.am | 2 +-
> configure.in | 2 --
> srp_daemon/srp_daemon.c | 1 -
> srp_daemon/srp_daemon.h | 18 ++++++++++++++++++
> srp_daemon/srp_handle_traps.c | 4 ++--
> 5 files changed, 21 insertions(+), 6 deletions(-)
>
> diff --git a/Makefile.am b/Makefile.am
> index dcca848..be1e07a 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -6,7 +6,7 @@ man_MANS = man/ibsrpdm.1 man/srp_daemon.1
> src_ibsrpdm_CFLAGS = -Wall
> src_ibsrpdm_SOURCES = src/srp-dm.c
>
> -srp_daemon_srp_daemon_LDADD = -libumad -libcommon -libverbs -lpthread
> +srp_daemon_srp_daemon_LDADD = -libumad -libverbs -lpthread
> srp_daemon_srp_daemon_CFLAGS = -Wall -I $(DESTDIR)$(includedir) -fno-
> strict-aliasing
> srp_daemon_srp_daemon_SOURCES = srp_daemon/srp_daemon.c
> srp_daemon/srp_handle_traps.c srp_daemon/srp_sync.c
>
> diff --git a/configure.in b/configure.in
> index e06feaf..053133e 100644
> --- a/configure.in
> +++ b/configure.in
> @@ -20,8 +20,6 @@ AC_PROG_CC
> # Checks for libraries.
> if test "$disable_libcheck" != "yes"
> then
> -AC_CHECK_LIB([ibcommon], [stack_dump], [],
> - AC_MSG_ERROR([srptools require libibcommon.]))
> AC_CHECK_LIB([ibumad], [umad_init], [],
> AC_MSG_ERROR([srptools require libibumad.]))
> AC_CHECK_LIB([ibverbs], [ibv_get_device_list], [],
> diff --git a/srp_daemon/srp_daemon.c b/srp_daemon/srp_daemon.c
> index 936bcbd..5e1e198 100644
> --- a/srp_daemon/srp_daemon.c
> +++ b/srp_daemon/srp_daemon.c
> @@ -58,7 +58,6 @@
> #include <pthread.h>
> #include <string.h>
> #include <infiniband/umad.h>
> -#include <infiniband/common.h>
> #include "srp_ib_types.h"
>
> #include "srp_daemon.h"
> diff --git a/srp_daemon/srp_daemon.h b/srp_daemon/srp_daemon.h
> index eb05d9f..77dcc0d 100644
> --- a/srp_daemon/srp_daemon.h
> +++ b/srp_daemon/srp_daemon.h
> @@ -37,6 +37,8 @@
> #define SRP_DM_H
>
> #include <stdint.h>
> +#include <endian.h>
> +#include <byteswap.h>
> #include <infiniband/verbs.h>
>
> #include "srp_ib_types.h"
> @@ -369,6 +371,22 @@ struct resources {
>
> static const int node_table_response_size = 1 << 18;
>
> +#if __BYTE_ORDER == __LITTLE_ENDIAN
> +#ifndef ntohll
> +#define ntohll(x) bswap_64(x)
> +#endif
> +#ifndef htonll
> +#define htonll(x) bswap_64(x)
> +#endif
> +#elif __BYTE_ORDER == __BIG_ENDIAN
> +#ifndef ntohll
> +#define ntohll(x) (x)
> +#endif
> +#ifndef htonll
> +#define htonll(x) (x)
> +#endif
> +#endif /* __BYTE_ORDER == __BIG_ENDIAN */
> +
> #define pr_human(arg...) \
> do { \
> if (!config->cmd && !config->execute) \
> diff --git a/srp_daemon/srp_handle_traps.c
> b/srp_daemon/srp_handle_traps.c
> index d973c21..b5f9f83 100644
> --- a/srp_daemon/srp_handle_traps.c
> +++ b/srp_daemon/srp_handle_traps.c
> @@ -42,7 +42,6 @@
> #include <time.h>
> #include <errno.h>
> #include <string.h>
> -#include <infiniband/common.h>
> #include <infiniband/verbs.h>
>
> #include "srp_ib_types.h"
> @@ -558,7 +557,8 @@ static int register_to_trap(struct ud_resources
> *res, int dest_lid, int trap_num
> pthread_mutex_lock(res->mad_buffer_mutex);
> res->mad_buffer->base_ver = 0; // flag that the buffer
is
> empty
> pthread_mutex_unlock(res->mad_buffer_mutex);
> - mad_hdr->trans_id = htonll(trans_id++);
> + trans_id++;
> + mad_hdr->trans_id = htonll(trans_id);
>
> ret = ibv_post_send(res->qp, &sr, bad_wr);
> if (ret) {
> --
> 1.6.0.4.766.g6fc4a
More information about the general
mailing list