Lines Matching refs:msk
464 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_established_options_mp() local
496 opts->csum_reqd = READ_ONCE(msk->csum_enabled); in mptcp_established_options_mp()
570 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_established_options_dss() local
577 opts->csum_reqd = READ_ONCE(msk->csum_enabled); in mptcp_established_options_dss()
602 if (!READ_ONCE(msk->can_ack)) { in mptcp_established_options_dss()
607 ack_seq = READ_ONCE(msk->ack_seq); in mptcp_established_options_dss()
608 if (READ_ONCE(msk->use_64bit_ack)) { in mptcp_established_options_dss()
619 WRITE_ONCE(msk->old_wspace, __mptcp_space((struct sock *)msk)); in mptcp_established_options_dss()
664 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_established_options_add_addr() local
674 if (!mptcp_pm_should_add_signal(msk) || in mptcp_established_options_add_addr()
676 !mptcp_pm_add_addr_signal(msk, skb, opt_size, remaining, &opts->addr, in mptcp_established_options_add_addr()
701 opts->ahmac = add_addr_generate_hmac(msk->local_key, in mptcp_established_options_add_addr()
702 msk->remote_key, in mptcp_established_options_add_addr()
717 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_established_options_rm_addr() local
721 if (!mptcp_pm_should_rm_signal(msk) || in mptcp_established_options_rm_addr()
722 !(mptcp_pm_rm_addr_signal(msk, remaining, &rm_list))) in mptcp_established_options_rm_addr()
814 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_established_options() local
821 if (unlikely(__mptcp_check_fallback(msk))) in mptcp_established_options()
836 snd_data_fin = mptcp_data_fin_enabled(msk); in mptcp_established_options()
904 static bool check_fully_established(struct mptcp_sock *msk, struct sock *ssk, in check_fully_established() argument
920 READ_ONCE(msk->pm.server_side)) in check_fully_established()
942 WRITE_ONCE(msk->fully_established, true); in check_fully_established()
954 pr_fallback(msk); in check_fully_established()
955 __mptcp_do_fallback(msk); in check_fully_established()
960 WRITE_ONCE(msk->pm.remote_deny_join_id0, true); in check_fully_established()
962 if (unlikely(!READ_ONCE(msk->pm.server_side))) in check_fully_established()
978 mptcp_pm_subflow_established(msk); in check_fully_established()
980 mptcp_pm_fully_established(msk, ssk, GFP_ATOMIC); in check_fully_established()
1005 static void ack_update_msk(struct mptcp_sock *msk, in ack_update_msk() argument
1009 u64 new_wnd_end, new_snd_una, snd_nxt = READ_ONCE(msk->snd_nxt); in ack_update_msk()
1010 struct sock *sk = (struct sock *)msk; in ack_update_msk()
1019 old_snd_una = msk->snd_una; in ack_update_msk()
1024 if (!msk->recovery || after64(new_snd_una, msk->recovery_snd_nxt)) in ack_update_msk()
1030 if (after64(new_wnd_end, msk->wnd_end)) in ack_update_msk()
1031 msk->wnd_end = new_wnd_end; in ack_update_msk()
1034 if (after64(msk->wnd_end, READ_ONCE(msk->snd_nxt))) in ack_update_msk()
1038 msk->snd_una = new_snd_una; in ack_update_msk()
1045 new_wnd_end, msk->wnd_end); in ack_update_msk()
1048 bool mptcp_update_rcv_data_fin(struct mptcp_sock *msk, u64 data_fin_seq, bool use_64bit) in mptcp_update_rcv_data_fin() argument
1055 if (READ_ONCE(msk->rcv_data_fin)) in mptcp_update_rcv_data_fin()
1058 WRITE_ONCE(msk->rcv_data_fin_seq, in mptcp_update_rcv_data_fin()
1059 mptcp_expand_seq(READ_ONCE(msk->ack_seq), data_fin_seq, use_64bit)); in mptcp_update_rcv_data_fin()
1060 WRITE_ONCE(msk->rcv_data_fin, 1); in mptcp_update_rcv_data_fin()
1065 static bool add_addr_hmac_valid(struct mptcp_sock *msk, in add_addr_hmac_valid() argument
1073 hmac = add_addr_generate_hmac(msk->remote_key, in add_addr_hmac_valid()
1074 msk->local_key, in add_addr_hmac_valid()
1078 msk, (unsigned long long)hmac, in add_addr_hmac_valid()
1088 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_incoming_options() local
1092 if (__mptcp_check_fallback(msk)) { in mptcp_incoming_options()
1111 if (!check_fully_established(msk, sk, subflow, skb, &mp_opt)) in mptcp_incoming_options()
1116 msk->local_key == mp_opt.rcvr_key) { in mptcp_incoming_options()
1117 WRITE_ONCE(msk->rcv_fastclose, true); in mptcp_incoming_options()
1118 mptcp_schedule_work((struct sock *)msk); in mptcp_incoming_options()
1122 add_addr_hmac_valid(msk, &mp_opt)) { in mptcp_incoming_options()
1124 mptcp_pm_add_addr_received(msk, &mp_opt.addr); in mptcp_incoming_options()
1127 mptcp_pm_add_addr_echoed(msk, &mp_opt.addr); in mptcp_incoming_options()
1128 mptcp_pm_del_add_timer(msk, &mp_opt.addr, true); in mptcp_incoming_options()
1137 mptcp_pm_rm_addr_received(msk, &mp_opt.rm_list); in mptcp_incoming_options()
1163 ack_update_msk(msk, sk, &mp_opt); in mptcp_incoming_options()
1172 mptcp_update_rcv_data_fin(msk, mp_opt.data_seq, mp_opt.dsn64) && in mptcp_incoming_options()
1173 schedule_work(&msk->work)) in mptcp_incoming_options()
1218 struct mptcp_sock *msk; in mptcp_set_rwin() local
1222 msk = mptcp_sk(subflow->conn); in mptcp_set_rwin()
1224 ack_seq = READ_ONCE(msk->ack_seq) + tp->rcv_wnd; in mptcp_set_rwin()
1226 if (after64(ack_seq, READ_ONCE(msk->rcv_wnd_sent))) in mptcp_set_rwin()
1227 WRITE_ONCE(msk->rcv_wnd_sent, ack_seq); in mptcp_set_rwin()