From 9600e02667be6b39d1945bead7dbb22b7ea524c8 Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Thu, 28 Jun 2012 11:19:07 -0700 Subject: [PATCH] pop (CONFLICT) --- meta | 4 +-- patches/v6only | 66 +++----------------------------------------------- 2 files changed, 5 insertions(+), 65 deletions(-) diff --git a/meta b/meta index 5b57e49a..9e46e292 100644 --- a/meta +++ b/meta @@ -1,11 +1,11 @@ Version: 1 -Previous: 97196d3a8e53e3a4c1694e73849169e79746b888 +Previous: 6d22d7af8a8748d0fadbf63d0c6a3bdc902177b9 Head: 2771fa041964845370930dcf7f4c581c28161192 Applied: rselect: 0680bea236f65373732b82d405787cf979ee5c67 shut_wr: 2e5b0fc95964f74ea59dd725e849027faa0cd526 + v6only: 2771fa041964845370930dcf7f4c581c28161192 Unapplied: - v6only: 3afce107e2baec86c5541ed0acd992e37bcb992a rs-1sge: 8ec392829399dec7ed5c608b8697a482e5faa2de ip6-opt: 7e43a759255e9890d1e41f1edf71792836f53941 Hidden: diff --git a/patches/v6only b/patches/v6only index d4c18fd5..fface511 100644 --- a/patches/v6only +++ b/patches/v6only @@ -1,5 +1,5 @@ -Bottom: b2be28c058bcea1f57039dd4966c64ac692e6bfa -Top: 27bfde2fb2ab4ee3033c6b465d55530a614e6bed +Bottom: 1242d5df80aef5749c32bdb6490d768bfdd28ffe +Top: 1242d5df80aef5749c32bdb6490d768bfdd28ffe Author: Sean Hefty Date: 2012-06-12 12:02:04 -0700 @@ -10,64 +10,4 @@ Signed-off-by: Sean Hefty --- -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 a3c2c6a..394fed4 100644 ---- a/src/rsocket.c -+++ b/src/rsocket.c -@@ -161,6 +161,7 @@ struct rsocket { - long fd_flags; - uint64_t so_opts; - uint64_t tcp_opts; -+ uint64_t ipv6_opts; - enum rs_state state; - int cq_armed; - int retries; -@@ -1817,6 +1818,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_listening) { - ret = ERR(EINVAL); -@@ -1910,6 +1923,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: + -- 2.41.0