From: Sowmini Varadhan Date: Tue, 2 Jun 2015 00:24:10 +0000 (-0400) Subject: Declare SO_RDS_TRANSPORT and RDS_TRANS_* constants in uapi/linux/rds.h X-Git-Tag: v4.1.12-92~293^2^2~9 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=ac7ca8d5865b28e12bf96311e0794612611f7a23;p=users%2Fjedix%2Flinux-maple.git Declare SO_RDS_TRANSPORT and RDS_TRANS_* constants in uapi/linux/rds.h User space applications that desire to explicitly select the underlying transport for a PF_RDS socket may do so by using the SO_RDS_TRANSPORT socket option at the SOL_RDS level before bind(). The integer argument provided to the socket option would be one of the RDS_TRANS_* values, e.g., RDS_TRANS_TCP. This commit exports the constant values need by such applications via Orabug: 21061146 Signed-off-by: Sowmini Varadhan Signed-off-by: David S. Miller Signed-off-by: Mukesh Kacker --- diff --git a/include/uapi/linux/rds.h b/include/uapi/linux/rds.h index 83370cdd898af..40090ebf54333 100644 --- a/include/uapi/linux/rds.h +++ b/include/uapi/linux/rds.h @@ -35,7 +35,13 @@ #define _LINUX_RDS_H #include +/* XXX was included as part of NETFILTER support (commit f13bbf62) + * but is not exported to uapi, although is + * (in theory). Is needed for user-apps that use netfilter? + */ +#ifdef __KERNEL__ #include +#endif /* These sparse annotated types shouldn't be in any user * visible header file. We should clean this up rather @@ -48,6 +54,7 @@ #define RDS_IB_ABI_VERSION 0x301 +#define SOL_RDS 276 /* * setsockopt/getsockopt for SOL_RDS */ @@ -59,6 +66,14 @@ #define RDS_CONG_MONITOR 6 #define RDS_GET_MR_FOR_DEST 7 #define RDS_CONN_RESET 8 +#define SO_RDS_TRANSPORT 9 + +/* supported values for SO_RDS_TRANSPORT */ +#define RDS_TRANS_IB 0 +#define RDS_TRANS_IWARP 1 +#define RDS_TRANS_TCP 2 +#define RDS_TRANS_COUNT 3 +#define RDS_TRANS_NONE (~0) /* * ioctl commands for SOL_RDS diff --git a/net/rds/rds.h b/net/rds/rds.h index f02621dd9ea99..70f27f972f568 100644 --- a/net/rds/rds.h +++ b/net/rds/rds.h @@ -467,11 +467,6 @@ struct rds_notifier { * should try hard not to block. */ -#define RDS_TRANS_IB 0 -#define RDS_TRANS_IWARP 1 -#define RDS_TRANS_TCP 2 -#define RDS_TRANS_COUNT 3 - struct rds_transport { char t_name[TRANSNAMSIZ]; struct list_head t_item;