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>
 
 #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.
 
  *                 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;