net/rds: Declare SO_RDS_TRANSPORT and RDS_TRANS_* constants in uapi/linux/rds.h
authorSowmini Varadhan <sowmini.varadhan@oracle.com>
Fri, 29 May 2015 21:28:07 +0000 (17:28 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 1 Jun 2015 04:47:23 +0000 (21:47 -0700)
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 <linux/rds.h>

Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/rds.h
net/rds/rds.h

index 9195095..0f9265c 100644 (file)
@@ -38,6 +38,8 @@
 
 #define RDS_IB_ABI_VERSION             0x301
 
+#define        SOL_RDS         276
+
 /*
  * setsockopt/getsockopt for SOL_RDS
  */
 #define RDS_RECVERR                    5
 #define RDS_CONG_MONITOR               6
 #define RDS_GET_MR_FOR_DEST            7
+#define SO_RDS_TRANSPORT               8
+
+/* 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)
 
 /*
  * Control message types for SOL_RDS.
index 0d41155..76db508 100644 (file)
@@ -408,11 +408,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;