Lines Matching refs:msk
39 if (subflow_req->msk) in subflow_req_destructor()
40 sock_put((struct sock *)subflow_req->msk); in subflow_req_destructor()
57 static bool mptcp_can_accept_new_subflow(const struct mptcp_sock *msk) in mptcp_can_accept_new_subflow() argument
59 return mptcp_is_fully_established((void *)msk) && in mptcp_can_accept_new_subflow()
60 READ_ONCE(msk->pm.accept_subflow); in mptcp_can_accept_new_subflow()
69 struct mptcp_sock *msk; in subflow_token_join_request() local
72 msk = mptcp_token_get_sock(sock_net(req_to_sk(req)), subflow_req->token); in subflow_token_join_request()
73 if (!msk) { in subflow_token_join_request()
78 local_id = mptcp_pm_get_local_id(msk, (struct sock_common *)req); in subflow_token_join_request()
80 sock_put((struct sock *)msk); in subflow_token_join_request()
87 subflow_generate_hmac(msk->local_key, msk->remote_key, in subflow_token_join_request()
92 return msk; in subflow_token_join_request()
101 subflow_req->msk = NULL; in __subflow_init_req()
176 subflow_req->msk = subflow_token_join_request(req, skb); in subflow_init_req()
178 if (unlikely(req->syncookie) && subflow_req->msk) { in subflow_init_req()
179 if (mptcp_can_accept_new_subflow(subflow_req->msk)) in subflow_init_req()
184 subflow_req->remote_nonce, subflow_req->msk); in subflow_init_req()
221 if (mptcp_can_accept_new_subflow(subflow_req->msk)) in mptcp_subflow_init_cookie_req()
421 struct mptcp_sock *msk; in subflow_hmac_valid() local
424 msk = subflow_req->msk; in subflow_hmac_valid()
425 if (!msk) in subflow_hmac_valid()
428 subflow_generate_hmac(msk->remote_key, msk->local_key, in subflow_hmac_valid()
492 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_subflow_fully_established() local
497 WRITE_ONCE(msk->fully_established, true); in mptcp_subflow_fully_established()
550 !mptcp_can_accept_new_subflow(subflow_req->msk)) { in subflow_syn_recv_sock()
600 owner = subflow_req->msk; in subflow_syn_recv_sock()
605 subflow_req->msk = NULL; in subflow_syn_recv_sock()
699 struct mptcp_sock *msk) in get_mapping_status() argument
748 bool updated = mptcp_update_rcv_data_fin(msk, mpext->data_seq, in get_mapping_status()
760 if (updated && schedule_work(&msk->work)) in get_mapping_status()
761 sock_hold((struct sock *)msk); in get_mapping_status()
774 mptcp_update_rcv_data_fin(msk, data_fin_seq, mpext->dsn64); in get_mapping_status()
858 struct mptcp_sock *msk; in subflow_check_data_avail() local
868 msk = mptcp_sk(subflow->conn); in subflow_check_data_avail()
873 status = get_mapping_status(ssk, msk); in subflow_check_data_avail()
874 pr_debug("msk=%p ssk=%p status=%d", msk, ssk, status); in subflow_check_data_avail()
880 __mptcp_do_fallback(msk); in subflow_check_data_avail()
883 subflow->map_seq = READ_ONCE(msk->ack_seq); in subflow_check_data_avail()
901 if (unlikely(!READ_ONCE(msk->can_ack))) { in subflow_check_data_avail()
906 WRITE_ONCE(msk->remote_key, subflow->remote_key); in subflow_check_data_avail()
907 WRITE_ONCE(msk->ack_seq, subflow->map_seq); in subflow_check_data_avail()
908 WRITE_ONCE(msk->can_ack, true); in subflow_check_data_avail()
911 old_ack = READ_ONCE(msk->ack_seq); in subflow_check_data_avail()
982 struct mptcp_sock *msk; in subflow_data_ready() local
984 msk = mptcp_sk(parent); in subflow_data_ready()
992 set_bit(MPTCP_DATA_READY, &msk->flags); in subflow_data_ready()
997 WARN_ON_ONCE(!__mptcp_check_fallback(msk) && !subflow->mp_capable && in subflow_data_ready()
1074 struct mptcp_sock *msk = mptcp_sk(sk); in __mptcp_subflow_connect() local
1099 err = mptcp_pm_get_local_id(msk, (struct sock_common *)ssk); in __mptcp_subflow_connect()
1106 subflow->remote_key = msk->remote_key; in __mptcp_subflow_connect()
1107 subflow->local_key = msk->local_key; in __mptcp_subflow_connect()
1108 subflow->token = msk->token; in __mptcp_subflow_connect()
1122 pr_debug("msk=%p remote_token=%u local_id=%d remote_id=%d", msk, in __mptcp_subflow_connect()
1135 spin_lock_bh(&msk->join_list_lock); in __mptcp_subflow_connect()
1136 list_add_tail(&subflow->node, &msk->join_list); in __mptcp_subflow_connect()
1137 spin_unlock_bh(&msk->join_list_lock); in __mptcp_subflow_connect()