Lines Matching refs:msk
281 static inline void msk_owned_by_me(const struct mptcp_sock *msk) in msk_owned_by_me() argument
283 sock_owned_by_me((const struct sock *)msk); in msk_owned_by_me()
306 const struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_send_head() local
308 return READ_ONCE(msk->first_pending); in mptcp_send_head()
313 struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_send_next() local
316 cur = msk->first_pending; in mptcp_send_next()
317 return list_is_last(&cur->list, &msk->rtx_queue) ? NULL : in mptcp_send_next()
323 struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_pending_tail() local
325 if (!msk->first_pending) in mptcp_pending_tail()
328 if (WARN_ON_ONCE(list_empty(&msk->rtx_queue))) in mptcp_pending_tail()
331 return list_last_entry(&msk->rtx_queue, struct mptcp_data_frag, list); in mptcp_pending_tail()
336 struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_rtx_head() local
338 if (msk->snd_una == READ_ONCE(msk->snd_nxt)) in mptcp_rtx_head()
341 return list_first_entry_or_null(&msk->rtx_queue, struct mptcp_data_frag, list); in mptcp_rtx_head()
367 struct mptcp_sock *msk; member
485 static inline void mptcp_add_pending_subflow(struct mptcp_sock *msk, in mptcp_add_pending_subflow() argument
489 spin_lock_bh(&msk->join_list_lock); in mptcp_add_pending_subflow()
490 list_add_tail(&subflow->node, &msk->join_list); in mptcp_add_pending_subflow()
491 spin_unlock_bh(&msk->join_list_lock); in mptcp_add_pending_subflow()
566 struct socket *__mptcp_nmpc_socket(const struct mptcp_sock *msk);
606 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_has_another_subflow() local
608 mptcp_for_each_subflow(msk, tmp) { in mptcp_has_another_subflow()
635 void mptcp_rcv_space_init(struct mptcp_sock *msk, const struct sock *ssk);
656 bool mptcp_update_rcv_data_fin(struct mptcp_sock *msk, u64 data_fin_seq, bool use_64bit);
657 void __mptcp_flush_join_list(struct mptcp_sock *msk);
658 static inline bool mptcp_data_fin_enabled(const struct mptcp_sock *msk) in mptcp_data_fin_enabled() argument
660 return READ_ONCE(msk->snd_data_fin_enable) && in mptcp_data_fin_enabled()
661 READ_ONCE(msk->write_seq) == READ_ONCE(msk->snd_nxt); in mptcp_data_fin_enabled()
683 void mptcp_destroy_common(struct mptcp_sock *msk);
697 struct mptcp_sock *msk);
702 void mptcp_token_destroy(struct mptcp_sock *msk);
709 void mptcp_pm_data_init(struct mptcp_sock *msk);
710 void mptcp_pm_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk);
711 void mptcp_pm_nl_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk);
712 void mptcp_pm_new_connection(struct mptcp_sock *msk, const struct sock *ssk, int server_side);
713 void mptcp_pm_fully_established(struct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp);
714 bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk);
715 void mptcp_pm_connection_closed(struct mptcp_sock *msk);
716 void mptcp_pm_subflow_established(struct mptcp_sock *msk);
717 void mptcp_pm_subflow_closed(struct mptcp_sock *msk, u8 id);
718 void mptcp_pm_add_addr_received(struct mptcp_sock *msk,
720 void mptcp_pm_add_addr_echoed(struct mptcp_sock *msk,
722 void mptcp_pm_add_addr_send_ack(struct mptcp_sock *msk);
723 void mptcp_pm_nl_addr_send_ack(struct mptcp_sock *msk);
724 void mptcp_pm_rm_addr_received(struct mptcp_sock *msk,
728 void mptcp_pm_free_anno_list(struct mptcp_sock *msk);
729 bool mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk, const struct sock *sk);
731 mptcp_pm_del_add_timer(struct mptcp_sock *msk,
734 mptcp_lookup_anno_list_by_saddr(struct mptcp_sock *msk,
739 int mptcp_pm_announce_addr(struct mptcp_sock *msk,
742 int mptcp_pm_remove_addr(struct mptcp_sock *msk, const struct mptcp_rm_list *rm_list);
743 int mptcp_pm_remove_subflow(struct mptcp_sock *msk, const struct mptcp_rm_list *rm_list);
745 void mptcp_event(enum mptcp_event_type type, const struct mptcp_sock *msk,
747 void mptcp_event_addr_announced(const struct mptcp_sock *msk, const struct mptcp_addr_info *info);
748 void mptcp_event_addr_removed(const struct mptcp_sock *msk, u8 id);
750 static inline bool mptcp_pm_should_add_signal(struct mptcp_sock *msk) in mptcp_pm_should_add_signal() argument
752 return READ_ONCE(msk->pm.addr_signal) & in mptcp_pm_should_add_signal()
756 static inline bool mptcp_pm_should_add_signal_addr(struct mptcp_sock *msk) in mptcp_pm_should_add_signal_addr() argument
758 return READ_ONCE(msk->pm.addr_signal) & BIT(MPTCP_ADD_ADDR_SIGNAL); in mptcp_pm_should_add_signal_addr()
761 static inline bool mptcp_pm_should_add_signal_echo(struct mptcp_sock *msk) in mptcp_pm_should_add_signal_echo() argument
763 return READ_ONCE(msk->pm.addr_signal) & BIT(MPTCP_ADD_ADDR_ECHO); in mptcp_pm_should_add_signal_echo()
766 static inline bool mptcp_pm_should_rm_signal(struct mptcp_sock *msk) in mptcp_pm_should_rm_signal() argument
768 return READ_ONCE(msk->pm.addr_signal) & BIT(MPTCP_RM_ADDR_SIGNAL); in mptcp_pm_should_rm_signal()
794 bool mptcp_pm_add_addr_signal(struct mptcp_sock *msk, struct sk_buff *skb,
798 bool mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, unsigned int remaining,
800 int mptcp_pm_get_local_id(struct mptcp_sock *msk, struct sock_common *skc);
803 void mptcp_pm_nl_data_init(struct mptcp_sock *msk);
804 void mptcp_pm_nl_work(struct mptcp_sock *msk);
805 void mptcp_pm_nl_rm_subflow_received(struct mptcp_sock *msk,
807 int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, struct sock_common *skc);
808 unsigned int mptcp_pm_get_add_addr_signal_max(struct mptcp_sock *msk);
809 unsigned int mptcp_pm_get_add_addr_accept_max(struct mptcp_sock *msk);
810 unsigned int mptcp_pm_get_subflows_max(struct mptcp_sock *msk);
811 unsigned int mptcp_pm_get_local_addr_max(struct mptcp_sock *msk);
813 void mptcp_sockopt_sync(struct mptcp_sock *msk, struct sock *ssk);
814 void mptcp_sockopt_sync_all(struct mptcp_sock *msk);
823 static inline bool __mptcp_check_fallback(const struct mptcp_sock *msk) in __mptcp_check_fallback() argument
825 return test_bit(MPTCP_FALLBACK_DONE, &msk->flags); in __mptcp_check_fallback()
831 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_check_fallback() local
833 return __mptcp_check_fallback(msk); in mptcp_check_fallback()
836 static inline void __mptcp_do_fallback(struct mptcp_sock *msk) in __mptcp_do_fallback() argument
838 if (test_bit(MPTCP_FALLBACK_DONE, &msk->flags)) { in __mptcp_do_fallback()
839 pr_debug("TCP fallback already done (msk=%p)", msk); in __mptcp_do_fallback()
842 set_bit(MPTCP_FALLBACK_DONE, &msk->flags); in __mptcp_do_fallback()
848 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_do_fallback() local
850 __mptcp_do_fallback(msk); in mptcp_do_fallback()