Lines Matching refs:msk

487 	struct mptcp_sock *msk = mptcp_sk(subflow->conn);  in mptcp_established_options_dss()  local
495 snd_data_fin_enable = READ_ONCE(msk->snd_data_fin_enable); in mptcp_established_options_dss()
516 if (!READ_ONCE(msk->can_ack)) { in mptcp_established_options_dss()
521 if (READ_ONCE(msk->use_64bit_ack)) { in mptcp_established_options_dss()
523 opts->ext_copy.data_ack = READ_ONCE(msk->ack_seq); in mptcp_established_options_dss()
527 opts->ext_copy.data_ack32 = (uint32_t)READ_ONCE(msk->ack_seq); in mptcp_established_options_dss()
582 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_established_options_add_addr() local
587 if (!mptcp_pm_should_add_signal(msk) || in mptcp_established_options_add_addr()
588 !(mptcp_pm_add_addr_signal(msk, remaining, &saddr, &echo))) in mptcp_established_options_add_addr()
601 opts->ahmac = add_addr_generate_hmac(msk->local_key, in mptcp_established_options_add_addr()
602 msk->remote_key, in mptcp_established_options_add_addr()
612 opts->ahmac = add_addr6_generate_hmac(msk->local_key, in mptcp_established_options_add_addr()
613 msk->remote_key, in mptcp_established_options_add_addr()
630 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_established_options_rm_addr() local
633 if (!mptcp_pm_should_rm_signal(msk) || in mptcp_established_options_rm_addr()
634 !(mptcp_pm_rm_addr_signal(msk, remaining, &rm_id))) in mptcp_established_options_rm_addr()
721 static bool check_fully_established(struct mptcp_sock *msk, struct sock *ssk, in check_fully_established() argument
737 READ_ONCE(msk->pm.server_side)) in check_fully_established()
758 WRITE_ONCE(msk->fully_established, true); in check_fully_established()
770 pr_fallback(msk); in check_fully_established()
771 __mptcp_do_fallback(msk); in check_fully_established()
775 if (unlikely(!READ_ONCE(msk->pm.server_side))) in check_fully_established()
786 mptcp_pm_subflow_established(msk, subflow); in check_fully_established()
788 mptcp_pm_fully_established(msk); in check_fully_established()
812 static void update_una(struct mptcp_sock *msk, in update_una() argument
815 u64 new_snd_una, snd_una, old_snd_una = atomic64_read(&msk->snd_una); in update_una()
816 u64 write_seq = READ_ONCE(msk->write_seq); in update_una()
830 old_snd_una = atomic64_cmpxchg(&msk->snd_una, snd_una, in update_una()
833 mptcp_data_acked((struct sock *)msk); in update_una()
839 bool mptcp_update_rcv_data_fin(struct mptcp_sock *msk, u64 data_fin_seq, bool use_64bit) in mptcp_update_rcv_data_fin() argument
846 if (READ_ONCE(msk->rcv_data_fin) || !READ_ONCE(msk->first)) in mptcp_update_rcv_data_fin()
849 WRITE_ONCE(msk->rcv_data_fin_seq, in mptcp_update_rcv_data_fin()
850 expand_ack(READ_ONCE(msk->ack_seq), data_fin_seq, use_64bit)); in mptcp_update_rcv_data_fin()
851 WRITE_ONCE(msk->rcv_data_fin, 1); in mptcp_update_rcv_data_fin()
856 static bool add_addr_hmac_valid(struct mptcp_sock *msk, in add_addr_hmac_valid() argument
865 hmac = add_addr_generate_hmac(msk->remote_key, in add_addr_hmac_valid()
866 msk->local_key, in add_addr_hmac_valid()
870 hmac = add_addr6_generate_hmac(msk->remote_key, in add_addr_hmac_valid()
871 msk->local_key, in add_addr_hmac_valid()
876 msk, (unsigned long long)hmac, in add_addr_hmac_valid()
885 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_incoming_options() local
889 if (__mptcp_check_fallback(msk)) in mptcp_incoming_options()
893 if (!check_fully_established(msk, sk, subflow, skb, &mp_opt)) in mptcp_incoming_options()
896 if (mp_opt.add_addr && add_addr_hmac_valid(msk, &mp_opt)) { in mptcp_incoming_options()
912 mptcp_pm_add_addr_received(msk, &addr); in mptcp_incoming_options()
915 mptcp_pm_del_add_timer(msk, &addr); in mptcp_incoming_options()
922 mptcp_pm_rm_addr_received(msk, mp_opt.rm_id); in mptcp_incoming_options()
933 update_una(msk, &mp_opt); in mptcp_incoming_options()
942 mptcp_update_rcv_data_fin(msk, mp_opt.data_seq, mp_opt.dsn64) && in mptcp_incoming_options()
943 schedule_work(&msk->work)) in mptcp_incoming_options()