Lines Matching refs:msk
489 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_established_options_dss() local
497 snd_data_fin_enable = READ_ONCE(msk->snd_data_fin_enable); in mptcp_established_options_dss()
518 if (!READ_ONCE(msk->can_ack)) { in mptcp_established_options_dss()
523 if (READ_ONCE(msk->use_64bit_ack)) { in mptcp_established_options_dss()
525 opts->ext_copy.data_ack = READ_ONCE(msk->ack_seq); in mptcp_established_options_dss()
529 opts->ext_copy.data_ack32 = (uint32_t)READ_ONCE(msk->ack_seq); in mptcp_established_options_dss()
584 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_established_options_add_addr() local
589 if (!mptcp_pm_should_add_signal(msk) || in mptcp_established_options_add_addr()
590 !(mptcp_pm_add_addr_signal(msk, remaining, &saddr, &echo))) in mptcp_established_options_add_addr()
603 opts->ahmac = add_addr_generate_hmac(msk->local_key, in mptcp_established_options_add_addr()
604 msk->remote_key, in mptcp_established_options_add_addr()
614 opts->ahmac = add_addr6_generate_hmac(msk->local_key, in mptcp_established_options_add_addr()
615 msk->remote_key, in mptcp_established_options_add_addr()
632 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_established_options_rm_addr() local
635 if (!mptcp_pm_should_rm_signal(msk) || in mptcp_established_options_rm_addr()
636 !(mptcp_pm_rm_addr_signal(msk, remaining, &rm_id))) in mptcp_established_options_rm_addr()
723 static bool check_fully_established(struct mptcp_sock *msk, struct sock *ssk, in check_fully_established() argument
739 READ_ONCE(msk->pm.server_side)) in check_fully_established()
760 WRITE_ONCE(msk->fully_established, true); in check_fully_established()
772 pr_fallback(msk); in check_fully_established()
773 __mptcp_do_fallback(msk); in check_fully_established()
777 if (unlikely(!READ_ONCE(msk->pm.server_side))) in check_fully_established()
788 mptcp_pm_subflow_established(msk, subflow); in check_fully_established()
790 mptcp_pm_fully_established(msk); in check_fully_established()
814 static void update_una(struct mptcp_sock *msk, in update_una() argument
817 u64 new_snd_una, snd_una, old_snd_una = atomic64_read(&msk->snd_una); in update_una()
818 u64 write_seq = READ_ONCE(msk->write_seq); in update_una()
832 old_snd_una = atomic64_cmpxchg(&msk->snd_una, snd_una, in update_una()
835 mptcp_data_acked((struct sock *)msk); in update_una()
841 bool mptcp_update_rcv_data_fin(struct mptcp_sock *msk, u64 data_fin_seq, bool use_64bit) in mptcp_update_rcv_data_fin() argument
848 if (READ_ONCE(msk->rcv_data_fin) || !READ_ONCE(msk->first)) in mptcp_update_rcv_data_fin()
851 WRITE_ONCE(msk->rcv_data_fin_seq, in mptcp_update_rcv_data_fin()
852 expand_ack(READ_ONCE(msk->ack_seq), data_fin_seq, use_64bit)); in mptcp_update_rcv_data_fin()
853 WRITE_ONCE(msk->rcv_data_fin, 1); in mptcp_update_rcv_data_fin()
858 static bool add_addr_hmac_valid(struct mptcp_sock *msk, in add_addr_hmac_valid() argument
867 hmac = add_addr_generate_hmac(msk->remote_key, in add_addr_hmac_valid()
868 msk->local_key, in add_addr_hmac_valid()
872 hmac = add_addr6_generate_hmac(msk->remote_key, in add_addr_hmac_valid()
873 msk->local_key, in add_addr_hmac_valid()
878 msk, (unsigned long long)hmac, in add_addr_hmac_valid()
887 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_incoming_options() local
891 if (__mptcp_check_fallback(msk)) in mptcp_incoming_options()
895 if (!check_fully_established(msk, sk, subflow, skb, &mp_opt)) in mptcp_incoming_options()
898 if (mp_opt.add_addr && add_addr_hmac_valid(msk, &mp_opt)) { in mptcp_incoming_options()
914 mptcp_pm_add_addr_received(msk, &addr); in mptcp_incoming_options()
917 mptcp_pm_del_add_timer(msk, &addr); in mptcp_incoming_options()
924 mptcp_pm_rm_addr_received(msk, mp_opt.rm_id); in mptcp_incoming_options()
935 update_una(msk, &mp_opt); in mptcp_incoming_options()
944 mptcp_update_rcv_data_fin(msk, mp_opt.data_seq, mp_opt.dsn64) && in mptcp_incoming_options()
945 schedule_work(&msk->work)) in mptcp_incoming_options()