Lines Matching refs:msk

337 static inline void msk_owned_by_me(const struct mptcp_sock *msk)  in msk_owned_by_me()  argument
339 sock_owned_by_me((const struct sock *)msk); in msk_owned_by_me()
364 const struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_send_head() local
366 return READ_ONCE(msk->first_pending); in mptcp_send_head()
371 struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_send_next() local
374 cur = msk->first_pending; in mptcp_send_next()
375 return list_is_last(&cur->list, &msk->rtx_queue) ? NULL : in mptcp_send_next()
381 const struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_pending_tail() local
383 if (!msk->first_pending) in mptcp_pending_tail()
386 if (WARN_ON_ONCE(list_empty(&msk->rtx_queue))) in mptcp_pending_tail()
389 return list_last_entry(&msk->rtx_queue, struct mptcp_data_frag, list); in mptcp_pending_tail()
394 struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_rtx_head() local
396 if (msk->snd_una == READ_ONCE(msk->snd_nxt)) in mptcp_rtx_head()
399 return list_first_entry_or_null(&msk->rtx_queue, struct mptcp_data_frag, list); in mptcp_rtx_head()
425 struct mptcp_sock *msk; member
632 struct sock *__mptcp_nmpc_sk(struct mptcp_sock *msk);
654 int mptcp_init_sched(struct mptcp_sock *msk,
656 void mptcp_release_sched(struct mptcp_sock *msk);
659 struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk);
660 struct sock *mptcp_subflow_get_retrans(struct mptcp_sock *msk);
661 int mptcp_sched_get_send(struct mptcp_sock *msk);
662 int mptcp_sched_get_retrans(struct mptcp_sock *msk);
710 void mptcp_reset_tout_timer(struct mptcp_sock *msk, unsigned long fail_tout);
738 void mptcp_rcv_space_init(struct mptcp_sock *msk, const struct sock *ssk);
758 bool mptcp_update_rcv_data_fin(struct mptcp_sock *msk, u64 data_fin_seq, bool use_64bit);
759 static inline bool mptcp_data_fin_enabled(const struct mptcp_sock *msk) in mptcp_data_fin_enabled() argument
761 return READ_ONCE(msk->snd_data_fin_enable) && in mptcp_data_fin_enabled()
762 READ_ONCE(msk->write_seq) == READ_ONCE(msk->snd_nxt); in mptcp_data_fin_enabled()
784 void mptcp_destroy_common(struct mptcp_sock *msk, unsigned int flags);
798 struct mptcp_sock *msk);
803 void mptcp_token_destroy(struct mptcp_sock *msk);
811 void mptcp_pm_data_init(struct mptcp_sock *msk);
812 void mptcp_pm_data_reset(struct mptcp_sock *msk);
821 void mptcp_pm_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk);
822 void mptcp_pm_nl_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk);
823 void mptcp_pm_new_connection(struct mptcp_sock *msk, const struct sock *ssk, int server_side);
824 void mptcp_pm_fully_established(struct mptcp_sock *msk, const struct sock *ssk);
825 bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk);
826 void mptcp_pm_connection_closed(struct mptcp_sock *msk);
827 void mptcp_pm_subflow_established(struct mptcp_sock *msk);
828 bool mptcp_pm_nl_check_work_pending(struct mptcp_sock *msk);
829 void mptcp_pm_subflow_check_next(struct mptcp_sock *msk, const struct sock *ssk,
833 void mptcp_pm_add_addr_echoed(struct mptcp_sock *msk,
835 void mptcp_pm_add_addr_send_ack(struct mptcp_sock *msk);
836 void mptcp_pm_nl_addr_send_ack(struct mptcp_sock *msk);
837 void mptcp_pm_rm_addr_received(struct mptcp_sock *msk,
841 int mptcp_pm_nl_mp_prio_send_ack(struct mptcp_sock *msk,
845 bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk,
847 void mptcp_pm_free_anno_list(struct mptcp_sock *msk);
848 bool mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk, const struct sock *sk);
850 mptcp_pm_del_add_timer(struct mptcp_sock *msk,
853 mptcp_lookup_anno_list_by_saddr(const struct mptcp_sock *msk,
855 int mptcp_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk,
858 int mptcp_pm_nl_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned int id,
860 int mptcp_userspace_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk,
870 int mptcp_pm_announce_addr(struct mptcp_sock *msk,
873 int mptcp_pm_remove_addr(struct mptcp_sock *msk, const struct mptcp_rm_list *rm_list);
874 int mptcp_pm_remove_subflow(struct mptcp_sock *msk, const struct mptcp_rm_list *rm_list);
875 void mptcp_pm_remove_addrs(struct mptcp_sock *msk, struct list_head *rm_list);
876 void mptcp_pm_remove_addrs_and_subflows(struct mptcp_sock *msk,
879 void mptcp_free_local_addr_list(struct mptcp_sock *msk);
885 void mptcp_event(enum mptcp_event_type type, const struct mptcp_sock *msk,
888 void mptcp_event_addr_removed(const struct mptcp_sock *msk, u8 id);
891 bool mptcp_userspace_pm_active(const struct mptcp_sock *msk);
893 void mptcp_fastopen_gen_msk_ackseq(struct mptcp_sock *msk, struct mptcp_subflow_context *subflow,
898 static inline bool mptcp_pm_should_add_signal(struct mptcp_sock *msk) in mptcp_pm_should_add_signal() argument
900 return READ_ONCE(msk->pm.addr_signal) & in mptcp_pm_should_add_signal()
904 static inline bool mptcp_pm_should_add_signal_addr(struct mptcp_sock *msk) in mptcp_pm_should_add_signal_addr() argument
906 return READ_ONCE(msk->pm.addr_signal) & BIT(MPTCP_ADD_ADDR_SIGNAL); in mptcp_pm_should_add_signal_addr()
909 static inline bool mptcp_pm_should_add_signal_echo(struct mptcp_sock *msk) in mptcp_pm_should_add_signal_echo() argument
911 return READ_ONCE(msk->pm.addr_signal) & BIT(MPTCP_ADD_ADDR_ECHO); in mptcp_pm_should_add_signal_echo()
914 static inline bool mptcp_pm_should_rm_signal(struct mptcp_sock *msk) in mptcp_pm_should_rm_signal() argument
916 return READ_ONCE(msk->pm.addr_signal) & BIT(MPTCP_RM_ADDR_SIGNAL); in mptcp_pm_should_rm_signal()
919 static inline bool mptcp_pm_is_userspace(const struct mptcp_sock *msk) in mptcp_pm_is_userspace() argument
921 return READ_ONCE(msk->pm.pm_type) == MPTCP_PM_TYPE_USERSPACE; in mptcp_pm_is_userspace()
924 static inline bool mptcp_pm_is_kernel(const struct mptcp_sock *msk) in mptcp_pm_is_kernel() argument
926 return READ_ONCE(msk->pm.pm_type) == MPTCP_PM_TYPE_KERNEL; in mptcp_pm_is_kernel()
952 bool mptcp_pm_add_addr_signal(struct mptcp_sock *msk, const struct sk_buff *skb,
956 bool mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, unsigned int remaining,
958 int mptcp_pm_get_local_id(struct mptcp_sock *msk, struct sock_common *skc);
959 int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, struct mptcp_addr_info *skc);
960 int mptcp_userspace_pm_get_local_id(struct mptcp_sock *msk, struct mptcp_addr_info *skc);
963 void mptcp_pm_nl_work(struct mptcp_sock *msk);
964 void mptcp_pm_nl_rm_subflow_received(struct mptcp_sock *msk,
966 unsigned int mptcp_pm_get_add_addr_signal_max(const struct mptcp_sock *msk);
967 unsigned int mptcp_pm_get_add_addr_accept_max(const struct mptcp_sock *msk);
968 unsigned int mptcp_pm_get_subflows_max(const struct mptcp_sock *msk);
969 unsigned int mptcp_pm_get_local_addr_max(const struct mptcp_sock *msk);
972 static inline void __mptcp_pm_close_subflow(struct mptcp_sock *msk) in __mptcp_pm_close_subflow() argument
974 if (--msk->pm.subflows < mptcp_pm_get_subflows_max(msk)) in __mptcp_pm_close_subflow()
975 WRITE_ONCE(msk->pm.accept_subflow, true); in __mptcp_pm_close_subflow()
978 static inline void mptcp_pm_close_subflow(struct mptcp_sock *msk) in mptcp_pm_close_subflow() argument
980 spin_lock_bh(&msk->pm.lock); in mptcp_pm_close_subflow()
981 __mptcp_pm_close_subflow(msk); in mptcp_pm_close_subflow()
982 spin_unlock_bh(&msk->pm.lock); in mptcp_pm_close_subflow()
985 void mptcp_sockopt_sync(struct mptcp_sock *msk, struct sock *ssk);
986 void mptcp_sockopt_sync_locked(struct mptcp_sock *msk, struct sock *ssk);
995 static inline bool __mptcp_check_fallback(const struct mptcp_sock *msk) in __mptcp_check_fallback() argument
997 return test_bit(MPTCP_FALLBACK_DONE, &msk->flags); in __mptcp_check_fallback()
1003 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_check_fallback() local
1005 return __mptcp_check_fallback(msk); in mptcp_check_fallback()
1008 static inline void __mptcp_do_fallback(struct mptcp_sock *msk) in __mptcp_do_fallback() argument
1010 if (test_bit(MPTCP_FALLBACK_DONE, &msk->flags)) { in __mptcp_do_fallback()
1011 pr_debug("TCP fallback already done (msk=%p)", msk); in __mptcp_do_fallback()
1014 set_bit(MPTCP_FALLBACK_DONE, &msk->flags); in __mptcp_do_fallback()
1021 struct mptcp_sock *msk; in mptcp_do_fallback() local
1023 msk = mptcp_sk(sk); in mptcp_do_fallback()
1024 __mptcp_do_fallback(msk); in mptcp_do_fallback()
1025 if (READ_ONCE(msk->snd_data_fin_enable) && !(ssk->sk_shutdown & SEND_SHUTDOWN)) { in mptcp_do_fallback()