fi
fi
-AC_CHECK_HEADER(infiniband/acm.h,
- AC_DEFINE([USE_IB_ACM], 1, [setting IBACM support]), [])
-
AC_CHECK_HEADER(infiniband/acm.h,
AC_CHECK_MEMBER(struct acm_msg.resolve_data, [],
AC_DEFINE(DEFINE_ACM_MSG, 1, [adding ACM message definition]),
#include <getopt.h>
#include <rdma/rdma_cma.h>
+#include <infiniband/ib.h>
#include "common.h"
struct cmatest_node {
static uint8_t migrate = 0;
static char *dst_addr;
static char *src_addr;
+static char addr_type = 'u';
static int create_message(struct cmatest_node *node)
{
}
memset(&hints, 0, sizeof hints);
- hints.ai_flags = RAI_PASSIVE;
+ if (addr_type == 'g') {
+ hints.ai_flags = RAI_FAMILY | RAI_NUMERICHOST;
+ hints.ai_family = AF_IB;
+ }
+ hints.ai_flags |= RAI_PASSIVE;
hints.ai_port_space = RDMA_PS_TCP;
ret = get_rdma_addr(src_addr, dst_addr, port, &hints, &test.rai);
if (ret) {
printf("cmatose: starting client\n");
memset(&hints, 0, sizeof hints);
+ if (addr_type == 'g') {
+ hints.ai_flags = RAI_FAMILY | RAI_NUMERICHOST;
+ hints.ai_family = AF_IB;
+ }
hints.ai_port_space = RDMA_PS_TCP;
ret = get_rdma_addr(src_addr, dst_addr, port, &hints, &test.rai);
if (ret) {
{
int op, ret;
- while ((op = getopt(argc, argv, "s:b:c:C:S:t:p:m")) != -1) {
+ while ((op = getopt(argc, argv, "s:b:c:C:S:t:p:mf:")) != -1) {
switch (op) {
case 's':
dst_addr = optarg;
case 'm':
migrate = 1;
break;
+ case 'f':
+ addr_type = optarg[0];
+ break;
default:
printf("usage: %s\n", argv[0]);
printf("\t[-s server_address]\n");
printf("\t[-t type_of_service]\n");
printf("\t[-p port_number]\n");
printf("\t[-m(igrate)]\n");
+ printf("\t[-f addr_format] - i(p), n(ame), l(id), g(gid), or u(nspecified)\n");
+ printf("\t address format for -s and -b options, default: 'u'\n");
exit(1);
}
}