From: Sean Hefty Date: Thu, 28 Jun 2012 18:19:49 +0000 (-0700) Subject: rename X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=52cad856f7ce90b00a954bb74f4a1ce85cdd296d;p=~shefty%2Flibrdmacm.git rename --- diff --git a/meta b/meta index 26432764..e8cc4f46 100644 --- a/meta +++ b/meta @@ -1,10 +1,10 @@ Version: 1 -Previous: 811a9e50cf207b31c520d19510e5ad5cf15b23f0 +Previous: 19ae5b5a310ad4a9dcc52cdec8c2290f08155882 Head: 56e2b4566930fa7b05debec8b247e8dfe9df7ffe Applied: rselect: 0680bea236f65373732b82d405787cf979ee5c67 shut_wr: 2e5b0fc95964f74ea59dd725e849027faa0cd526 - v6only: 56e2b4566930fa7b05debec8b247e8dfe9df7ffe + v6only-kernel: 56e2b4566930fa7b05debec8b247e8dfe9df7ffe Unapplied: rs-1sge: 8ec392829399dec7ed5c608b8697a482e5faa2de ip6-opt: 7e43a759255e9890d1e41f1edf71792836f53941 diff --git a/patches/v6only b/patches/v6only deleted file mode 100644 index 0300e068..00000000 --- a/patches/v6only +++ /dev/null @@ -1,73 +0,0 @@ -Bottom: 1242d5df80aef5749c32bdb6490d768bfdd28ffe -Top: 91153ae24e0243a1f3cf380e415d9bc5e8094789 -Author: Sean Hefty -Date: 2012-06-12 12:02:04 -0700 - -rsocket: Support IPV6_V6ONLY socket option - -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 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: diff --git a/patches/v6only-kernel b/patches/v6only-kernel new file mode 100644 index 00000000..0300e068 --- /dev/null +++ b/patches/v6only-kernel @@ -0,0 +1,73 @@ +Bottom: 1242d5df80aef5749c32bdb6490d768bfdd28ffe +Top: 91153ae24e0243a1f3cf380e415d9bc5e8094789 +Author: Sean Hefty +Date: 2012-06-12 12:02:04 -0700 + +rsocket: Support IPV6_V6ONLY socket option + +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 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: