]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
refresh (create temporary patch)
authorSean Hefty <sean.hefty@intel.com>
Thu, 28 Jun 2012 18:19:34 +0000 (11:19 -0700)
committerSean Hefty <sean.hefty@intel.com>
Thu, 28 Jun 2012 18:19:34 +0000 (11:19 -0700)
meta
patches/refresh-temp [new file with mode: 0644]

diff --git a/meta b/meta
index 9e46e292a442030b463e9083fcaed2ec44051f06..73a284c4b4b7f6fc3e462daa1991870a170ce32b 100644 (file)
--- a/meta
+++ b/meta
@@ -1,10 +1,11 @@
 Version: 1
-Previous: 6d22d7af8a8748d0fadbf63d0c6a3bdc902177b9
-Head: 2771fa041964845370930dcf7f4c581c28161192
+Previous: 9bf5bc1617769c722a5d52040ec9e799021355e9
+Head: 293f204824284a74ec800c9098cc446b01cfca1b
 Applied:
   rselect: 0680bea236f65373732b82d405787cf979ee5c67
   shut_wr: 2e5b0fc95964f74ea59dd725e849027faa0cd526
   v6only: 2771fa041964845370930dcf7f4c581c28161192
+  refresh-temp: 293f204824284a74ec800c9098cc446b01cfca1b
 Unapplied:
   rs-1sge: 8ec392829399dec7ed5c608b8697a482e5faa2de
   ip6-opt: 7e43a759255e9890d1e41f1edf71792836f53941
diff --git a/patches/refresh-temp b/patches/refresh-temp
new file mode 100644 (file)
index 0000000..b23499a
--- /dev/null
@@ -0,0 +1,70 @@
+Bottom: 1242d5df80aef5749c32bdb6490d768bfdd28ffe
+Top:    91153ae24e0243a1f3cf380e415d9bc5e8094789
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2012-06-28 11:19:34 -0700
+
+Refresh of v6only
+
+---
+
+diff --git a/include/rdma/rdma_cma.h b/include/rdma/rdma_cma.h
+index c0f83b1..1487f8f 100755
+--- a/include/rdma/rdma_cma.h
++++ b/include/rdma/rdma_cma.h
+@@ -650,6 +650,7 @@ enum {
+ enum {
+       RDMA_OPTION_ID_TOS       = 0,   /* uint8_t: RFC 2474 */
+       RDMA_OPTION_ID_REUSEADDR = 1,   /* int: ~SO_REUSEADDR */
++      RDMA_OPTION_ID_AFONLY    = 2,   /* int: ~IPV6_V6ONLY */
+       RDMA_OPTION_IB_PATH      = 1    /* struct ibv_path_data[] */
+ };
+diff --git a/src/rsocket.c b/src/rsocket.c
+index bdb756f..ed125b3 100644
+--- a/src/rsocket.c
++++ b/src/rsocket.c
+@@ -166,6 +166,7 @@ struct rsocket {
+       long              fd_flags;
+       uint64_t          so_opts;
+       uint64_t          tcp_opts;
++      uint64_t          ipv6_opts;
+       int               state;
+       int               cq_armed;
+       int               retries;
+@@ -1849,6 +1850,18 @@ int rsetsockopt(int socket, int level, int optname,
+                       break;
+               }
+               break;
++      case IPPROTO_IPV6:
++              opts = &rs->ipv6_opts;
++              switch (optname) {
++              case IPV6_V6ONLY:
++                      ret = rdma_set_option(rs->cm_id, RDMA_OPTION_ID,
++                                            RDMA_OPTION_ID_AFONLY,
++                                            (void *) optval, optlen);
++                      opt_on = *(int *) optval;
++                      break;
++              default:
++                      break;
++              }
+       case SOL_RDMA:
+               if (rs->state >= rs_opening) {
+                       ret = ERR(EINVAL);
+@@ -1942,6 +1955,17 @@ int rgetsockopt(int socket, int level, int optname,
+                       break;
+               }
+               break;
++      case IPPROTO_IPV6:
++              switch (optname) {
++              case IPV6_V6ONLY:
++                      *((int *) optval) = !!(rs->ipv6_opts & (1 << optname));
++                      *optlen = sizeof(int);
++                      break;
++              default:
++                      ret = ENOTSUP;
++                      break;
++              }
++              break;
+       case SOL_RDMA:
+               switch (optname) {
+               case RDMA_SQSIZE: