#include <getopt.h>
#include <rdma/rdma_cma.h>
+#include <infiniband/ib.h>
struct cmatest_node {
int id;
int conn_index;
int connects_left;
- struct sockaddr_in6 dst_in;
+ struct sockaddr_storage dst_in;
struct sockaddr *dst_addr;
- struct sockaddr_in6 src_in;
+ struct sockaddr_storage src_in;
struct sockaddr *src_addr;
};
return ret;
}
+static int get_dst_addr(char *dst, struct sockaddr *addr)
+{
+ struct sockaddr_ib *sib;
+
+ if (!unmapped_addr)
+ return get_addr(dst, addr);
+
+ sib = (struct sockaddr_ib *) addr;
+ memset(sib, 0, sizeof *sib);
+ sib->sib_family = AF_IB;
+ inet_pton(AF_INET6, dst, &sib->sib_addr);
+ return 0;
+}
+
static int run(void)
{
int i, ret;
return ret;
}
- ret = get_addr(dst_addr, (struct sockaddr *) &test.dst_in);
+ ret = get_dst_addr(dst_addr, (struct sockaddr *) &test.dst_in);
if (ret)
return ret;