@@ -40,13 +40,12 @@ void mptcp_fastopen_subflow_synack_set_params(struct mptcp_subflow_context *subf
4040 tp -> copied_seq += skb -> len ;
4141 subflow -> ssn_offset += skb -> len ;
4242
43- /* initialize a dummy sequence number, we will update it at MPC
44- * completion, if needed
45- */
43+ /* Only the sequence delta is relevant */
4644 MPTCP_SKB_CB (skb )-> map_seq = - skb -> len ;
4745 MPTCP_SKB_CB (skb )-> end_seq = 0 ;
4846 MPTCP_SKB_CB (skb )-> offset = 0 ;
4947 MPTCP_SKB_CB (skb )-> has_rxtstamp = TCP_SKB_CB (skb )-> has_rxtstamp ;
48+ MPTCP_SKB_CB (skb )-> cant_coalesce = 1 ;
5049
5150 mptcp_data_lock (sk );
5251 DEBUG_NET_WARN_ON_ONCE (sock_owned_by_user_nocheck (sk ));
@@ -59,23 +58,3 @@ void mptcp_fastopen_subflow_synack_set_params(struct mptcp_subflow_context *subf
5958
6059 mptcp_data_unlock (sk );
6160}
62-
63- void __mptcp_fastopen_gen_msk_ackseq (struct mptcp_sock * msk , struct mptcp_subflow_context * subflow ,
64- const struct mptcp_options_received * mp_opt )
65- {
66- struct sock * sk = (struct sock * )msk ;
67- struct sk_buff * skb ;
68-
69- DEBUG_NET_WARN_ON_ONCE (sock_owned_by_user_nocheck (sk ));
70- skb = skb_peek_tail (& sk -> sk_receive_queue );
71- if (skb ) {
72- WARN_ON_ONCE (MPTCP_SKB_CB (skb )-> end_seq );
73- pr_debug ("msk %p moving seq %llx -> %llx end_seq %llx -> %llx\n" , sk ,
74- MPTCP_SKB_CB (skb )-> map_seq , MPTCP_SKB_CB (skb )-> map_seq + msk -> ack_seq ,
75- MPTCP_SKB_CB (skb )-> end_seq , MPTCP_SKB_CB (skb )-> end_seq + msk -> ack_seq );
76- MPTCP_SKB_CB (skb )-> map_seq += msk -> ack_seq ;
77- MPTCP_SKB_CB (skb )-> end_seq += msk -> ack_seq ;
78- }
79-
80- pr_debug ("msk=%p ack_seq=%llx\n" , msk , msk -> ack_seq );
81- }
0 commit comments