diff options
author | Sean Hefty <sean.hefty@intel.com> | 2012-06-14 22:31:39 +0200 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2012-07-09 03:02:24 +0200 |
commit | 68602120e496a31d8e3b36d0bfc7d9d2456fb05c (patch) | |
tree | 04eea1c0673ff60d1e9881b1d73785c0ed6f8271 /include/rdma | |
parent | RDMA/cma: Listen on specific address family (diff) | |
download | linux-68602120e496a31d8e3b36d0bfc7d9d2456fb05c.tar.xz linux-68602120e496a31d8e3b36d0bfc7d9d2456fb05c.zip |
RDMA/cma: Allow user to restrict listens to bound address family
Provide an option for the user to specify that listens should only
accept connections where the incoming address family matches that of
the locally bound address. This is used to support the equivalent of
IPV6_V6ONLY socket option, which allows an app to only accept
connection requests directed to IPv6 addresses.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'include/rdma')
-rw-r--r-- | include/rdma/rdma_cm.h | 10 | ||||
-rw-r--r-- | include/rdma/rdma_user_cm.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/include/rdma/rdma_cm.h b/include/rdma/rdma_cm.h index 51988f808181..ad3a3142383a 100644 --- a/include/rdma/rdma_cm.h +++ b/include/rdma/rdma_cm.h @@ -357,4 +357,14 @@ void rdma_set_service_type(struct rdma_cm_id *id, int tos); */ int rdma_set_reuseaddr(struct rdma_cm_id *id, int reuse); +/** + * rdma_set_afonly - Specify that listens are restricted to the + * bound address family only. + * @id: Communication identifer to configure. + * @afonly: Value indicating if listens are restricted. + * + * Must be set before identifier is in the listening state. + */ +int rdma_set_afonly(struct rdma_cm_id *id, int afonly); + #endif /* RDMA_CM_H */ diff --git a/include/rdma/rdma_user_cm.h b/include/rdma/rdma_user_cm.h index 5348a000c8f3..1ee9239ff8c2 100644 --- a/include/rdma/rdma_user_cm.h +++ b/include/rdma/rdma_user_cm.h @@ -224,6 +224,7 @@ enum { enum { RDMA_OPTION_ID_TOS = 0, RDMA_OPTION_ID_REUSEADDR = 1, + RDMA_OPTION_ID_AFONLY = 2, RDMA_OPTION_IB_PATH = 1 }; |