summaryrefslogtreecommitdiffstats
path: root/net/mptcp/protocol.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/mptcp/protocol.h')
-rw-r--r--net/mptcp/protocol.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h
index 36b90024d34d..10eaa7c7381b 100644
--- a/net/mptcp/protocol.h
+++ b/net/mptcp/protocol.h
@@ -69,6 +69,7 @@ struct mptcp_sock {
u64 ack_seq;
u32 token;
unsigned long flags;
+ bool can_ack;
struct list_head conn_list;
struct skb_ext *cached_ext; /* for the next sendmsg */
struct socket *subflow; /* outgoing connect/listener/!mp_capable */
@@ -84,9 +85,10 @@ static inline struct mptcp_sock *mptcp_sk(const struct sock *sk)
struct mptcp_subflow_request_sock {
struct tcp_request_sock sk;
- u8 mp_capable : 1,
+ u16 mp_capable : 1,
mp_join : 1,
- backup : 1;
+ backup : 1,
+ remote_key_valid : 1;
u64 local_key;
u64 remote_key;
u64 idsn;
@@ -118,8 +120,10 @@ struct mptcp_subflow_context {
fourth_ack : 1, /* send initial DSS */
conn_finished : 1,
map_valid : 1,
+ mpc_map : 1,
data_avail : 1,
- rx_eof : 1;
+ rx_eof : 1,
+ can_ack : 1; /* only after processing the remote a key */
struct sock *tcp_sock; /* tcp sk backpointer */
struct sock *conn; /* parent mptcp_sock */
OpenPOWER on IntegriCloud