]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
rstream: Use rsocket option to set route directly
authorSean Hefty <sean.hefty@intel.com>
Fri, 26 Jul 2013 16:52:55 +0000 (09:52 -0700)
committerSean Hefty <sean.hefty@intel.com>
Wed, 31 Jul 2013 01:37:22 +0000 (18:37 -0700)
If we're using GID addressing, rdma_getaddrinfo can return
routing data directly.  Call rsetsockopt to indicate that
the available routing data should be used.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
examples/rstream.c

index e27ddcd301e3d58bd49d1c3bf9db4156f1647e69..fb03a3683b59cacac1e7f53564ec0dfa2d2bace7 100644 (file)
@@ -402,6 +402,15 @@ static int client_connect(void)
        set_options(rs);
        /* TODO: bind client to src_addr */
 
+       if (rai_hints.ai_flags && rai_hints.ai_route) {
+               ret = rs_setsockopt(rs, SOL_RDMA, RDMA_ROUTE, rai_hints.ai_route,
+                                   rai_hints.ai_route_len);
+               if (ret) {
+                       perror("rsetsockopt RDMA_ROUTE");
+                       goto close;
+               }
+       }
+
        ret = rai_hints.ai_flags ?
              rs_connect(rs, rai->ai_dst_addr, rai->ai_dst_len) :
              rs_connect(rs, ai->ai_addr, ai->ai_addrlen);