aboutsummaryrefslogtreecommitdiffstats
path: root/net/rds
diff options
context:
space:
mode:
authorSowmini Varadhan <sowmini.varadhan@oracle.com>2016-06-13 12:44:27 -0400
committerDavid S. Miller <davem@davemloft.net>2016-06-15 02:50:41 -0400
commit7e8f4413d7861efcb332ebce8d9b000a17eaa0e5 (patch)
treee5963784f2675ac19d3ca72dd1f47c7843897c05 /net/rds
parent0cb43965d42a21a7af41f88f1021b478dc102425 (diff)
RDS: add t_mp_capable bit to be set by MP capable transports
The t_mp_capable bit will be used in the core rds module to support multipathing logic when the transport supports it. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds')
-rw-r--r--net/rds/rds.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/rds/rds.h b/net/rds/rds.h
index ca31a07f70f5..28f001cbc893 100644
--- a/net/rds/rds.h
+++ b/net/rds/rds.h
@@ -446,7 +446,8 @@ struct rds_transport {
446 char t_name[TRANSNAMSIZ]; 446 char t_name[TRANSNAMSIZ];
447 struct list_head t_item; 447 struct list_head t_item;
448 struct module *t_owner; 448 struct module *t_owner;
449 unsigned int t_prefer_loopback:1; 449 unsigned int t_prefer_loopback:1,
450 t_mp_capable:1;
450 unsigned int t_type; 451 unsigned int t_type;
451 452
452 int (*laddr_check)(struct net *net, __be32 addr); 453 int (*laddr_check)(struct net *net, __be32 addr);
@@ -673,6 +674,7 @@ rds_conn_path_transition(struct rds_conn_path *cp, int old, int new)
673static inline int 674static inline int
674rds_conn_transition(struct rds_connection *conn, int old, int new) 675rds_conn_transition(struct rds_connection *conn, int old, int new)
675{ 676{
677 WARN_ON(conn->c_trans->t_mp_capable);
676 return rds_conn_path_transition(&conn->c_path[0], old, new); 678 return rds_conn_path_transition(&conn->c_path[0], old, new);
677} 679}
678 680
@@ -685,6 +687,7 @@ rds_conn_path_state(struct rds_conn_path *cp)
685static inline int 687static inline int
686rds_conn_state(struct rds_connection *conn) 688rds_conn_state(struct rds_connection *conn)
687{ 689{
690 WARN_ON(conn->c_trans->t_mp_capable);
688 return rds_conn_path_state(&conn->c_path[0]); 691 return rds_conn_path_state(&conn->c_path[0]);
689} 692}
690 693
@@ -697,6 +700,7 @@ rds_conn_path_up(struct rds_conn_path *cp)
697static inline int 700static inline int
698rds_conn_up(struct rds_connection *conn) 701rds_conn_up(struct rds_connection *conn)
699{ 702{
703 WARN_ON(conn->c_trans->t_mp_capable);
700 return rds_conn_path_up(&conn->c_path[0]); 704 return rds_conn_path_up(&conn->c_path[0]);
701} 705}
702 706
@@ -709,6 +713,7 @@ rds_conn_path_connecting(struct rds_conn_path *cp)
709static inline int 713static inline int
710rds_conn_connecting(struct rds_connection *conn) 714rds_conn_connecting(struct rds_connection *conn)
711{ 715{
716 WARN_ON(conn->c_trans->t_mp_capable);
712 return rds_conn_path_connecting(&conn->c_path[0]); 717 return rds_conn_path_connecting(&conn->c_path[0]);
713} 718}
714 719