Lines Matching refs:msk

374 static inline void msk_owned_by_me(const struct mptcp_sock *msk)  in msk_owned_by_me()  argument
376 sock_owned_by_me((const struct sock *)msk); in msk_owned_by_me()
415 const struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_send_head() local
417 return READ_ONCE(msk->first_pending); in mptcp_send_head()
422 struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_send_next() local
425 cur = msk->first_pending; in mptcp_send_next()
426 return list_is_last(&cur->list, &msk->rtx_queue) ? NULL : in mptcp_send_next()
432 const struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_pending_tail() local
434 if (!msk->first_pending) in mptcp_pending_tail()
437 if (WARN_ON_ONCE(list_empty(&msk->rtx_queue))) in mptcp_pending_tail()
440 return list_last_entry(&msk->rtx_queue, struct mptcp_data_frag, list); in mptcp_pending_tail()
445 struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_rtx_head() local
447 if (msk->snd_una == msk->snd_nxt) in mptcp_rtx_head()
450 return list_first_entry_or_null(&msk->rtx_queue, struct mptcp_data_frag, list); in mptcp_rtx_head()
477 struct mptcp_sock *msk; member
724 void __mptcp_subflow_fully_established(struct mptcp_sock *msk,
739 struct sock *__mptcp_nmpc_sk(struct mptcp_sock *msk);
765 int mptcp_init_sched(struct mptcp_sock *msk,
767 void mptcp_release_sched(struct mptcp_sock *msk);
770 struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk);
771 struct sock *mptcp_subflow_get_retrans(struct mptcp_sock *msk);
772 int mptcp_sched_get_send(struct mptcp_sock *msk);
773 int mptcp_sched_get_retrans(struct mptcp_sock *msk);
775 static inline u64 mptcp_data_avail(const struct mptcp_sock *msk) in mptcp_data_avail() argument
777 return READ_ONCE(msk->bytes_received) - READ_ONCE(msk->bytes_consumed); in mptcp_data_avail()
844 void mptcp_reset_tout_timer(struct mptcp_sock *msk, unsigned long fail_tout);
873 void mptcp_rcv_space_init(struct mptcp_sock *msk, const struct sock *ssk);
893 bool mptcp_update_rcv_data_fin(struct mptcp_sock *msk, u64 data_fin_seq, bool use_64bit);
894 static inline bool mptcp_data_fin_enabled(const struct mptcp_sock *msk) in mptcp_data_fin_enabled() argument
896 return READ_ONCE(msk->snd_data_fin_enable) && in mptcp_data_fin_enabled()
897 READ_ONCE(msk->write_seq) == READ_ONCE(msk->snd_nxt); in mptcp_data_fin_enabled()
911 const struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_stream_memory_free() local
914 notsent_bytes = READ_ONCE(msk->write_seq) - READ_ONCE(msk->snd_nxt); in mptcp_stream_memory_free()
981 void mptcp_destroy_common(struct mptcp_sock *msk, unsigned int flags);
995 struct mptcp_sock *msk);
1000 void mptcp_token_destroy(struct mptcp_sock *msk);
1008 void mptcp_pm_data_init(struct mptcp_sock *msk);
1009 void mptcp_pm_data_reset(struct mptcp_sock *msk);
1010 void mptcp_pm_destroy(struct mptcp_sock *msk);
1019 void mptcp_pm_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk);
1020 void mptcp_pm_new_connection(struct mptcp_sock *msk, const struct sock *ssk, int server_side);
1021 void mptcp_pm_fully_established(struct mptcp_sock *msk, const struct sock *ssk);
1022 bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk);
1023 void mptcp_pm_connection_closed(struct mptcp_sock *msk);
1024 void mptcp_pm_subflow_established(struct mptcp_sock *msk);
1025 bool mptcp_pm_nl_check_work_pending(struct mptcp_sock *msk);
1026 void mptcp_pm_subflow_check_next(struct mptcp_sock *msk,
1030 void mptcp_pm_add_addr_echoed(struct mptcp_sock *msk,
1032 void mptcp_pm_add_addr_send_ack(struct mptcp_sock *msk);
1033 void mptcp_pm_send_ack(struct mptcp_sock *msk,
1036 void mptcp_pm_addr_send_ack(struct mptcp_sock *msk);
1037 void mptcp_pm_nl_rm_addr(struct mptcp_sock *msk, u8 rm_id);
1038 void mptcp_pm_rm_subflow(struct mptcp_sock *msk,
1040 void mptcp_pm_rm_addr_received(struct mptcp_sock *msk,
1044 int mptcp_pm_mp_prio_send_ack(struct mptcp_sock *msk,
1048 bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk,
1050 bool mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk, const struct sock *sk);
1052 mptcp_pm_del_add_timer(struct mptcp_sock *msk,
1056 bool mptcp_remove_anno_list_by_saddr(struct mptcp_sock *msk,
1062 int mptcp_pm_announce_addr(struct mptcp_sock *msk,
1065 int mptcp_pm_remove_addr(struct mptcp_sock *msk, const struct mptcp_rm_list *rm_list);
1066 void mptcp_pm_remove_addr_entry(struct mptcp_sock *msk,
1078 void mptcp_userspace_pm_free_local_addr_list(struct mptcp_sock *msk);
1080 void mptcp_event(enum mptcp_event_type type, const struct mptcp_sock *msk,
1083 void mptcp_event_addr_removed(const struct mptcp_sock *msk, u8 id);
1086 bool mptcp_userspace_pm_active(const struct mptcp_sock *msk);
1094 static inline bool mptcp_pm_should_add_signal(struct mptcp_sock *msk) in mptcp_pm_should_add_signal() argument
1096 return READ_ONCE(msk->pm.addr_signal) & in mptcp_pm_should_add_signal()
1100 static inline bool mptcp_pm_should_add_signal_addr(struct mptcp_sock *msk) in mptcp_pm_should_add_signal_addr() argument
1102 return READ_ONCE(msk->pm.addr_signal) & BIT(MPTCP_ADD_ADDR_SIGNAL); in mptcp_pm_should_add_signal_addr()
1105 static inline bool mptcp_pm_should_add_signal_echo(struct mptcp_sock *msk) in mptcp_pm_should_add_signal_echo() argument
1107 return READ_ONCE(msk->pm.addr_signal) & BIT(MPTCP_ADD_ADDR_ECHO); in mptcp_pm_should_add_signal_echo()
1110 static inline bool mptcp_pm_should_rm_signal(struct mptcp_sock *msk) in mptcp_pm_should_rm_signal() argument
1112 return READ_ONCE(msk->pm.addr_signal) & BIT(MPTCP_RM_ADDR_SIGNAL); in mptcp_pm_should_rm_signal()
1115 static inline bool mptcp_pm_is_userspace(const struct mptcp_sock *msk) in mptcp_pm_is_userspace() argument
1117 return READ_ONCE(msk->pm.pm_type) == MPTCP_PM_TYPE_USERSPACE; in mptcp_pm_is_userspace()
1120 static inline bool mptcp_pm_is_kernel(const struct mptcp_sock *msk) in mptcp_pm_is_kernel() argument
1122 return READ_ONCE(msk->pm.pm_type) == MPTCP_PM_TYPE_KERNEL; in mptcp_pm_is_kernel()
1148 bool mptcp_pm_add_addr_signal(struct mptcp_sock *msk, const struct sk_buff *skb,
1152 bool mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, unsigned int remaining,
1154 int mptcp_pm_get_local_id(struct mptcp_sock *msk, struct sock_common *skc);
1155 int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk,
1157 int mptcp_userspace_pm_get_local_id(struct mptcp_sock *msk,
1159 bool mptcp_pm_is_backup(struct mptcp_sock *msk, struct sock_common *skc);
1160 bool mptcp_pm_nl_is_backup(struct mptcp_sock *msk, struct mptcp_addr_info *skc);
1161 bool mptcp_userspace_pm_is_backup(struct mptcp_sock *msk, struct mptcp_addr_info *skc);
1183 void mptcp_pm_worker(struct mptcp_sock *msk);
1184 void __mptcp_pm_kernel_worker(struct mptcp_sock *msk);
1185 unsigned int mptcp_pm_get_add_addr_signal_max(const struct mptcp_sock *msk);
1186 unsigned int mptcp_pm_get_add_addr_accept_max(const struct mptcp_sock *msk);
1187 unsigned int mptcp_pm_get_subflows_max(const struct mptcp_sock *msk);
1188 unsigned int mptcp_pm_get_local_addr_max(const struct mptcp_sock *msk);
1191 static inline void __mptcp_pm_close_subflow(struct mptcp_sock *msk) in __mptcp_pm_close_subflow() argument
1193 if (--msk->pm.subflows < mptcp_pm_get_subflows_max(msk)) in __mptcp_pm_close_subflow()
1194 WRITE_ONCE(msk->pm.accept_subflow, true); in __mptcp_pm_close_subflow()
1197 static inline void mptcp_pm_close_subflow(struct mptcp_sock *msk) in mptcp_pm_close_subflow() argument
1199 spin_lock_bh(&msk->pm.lock); in mptcp_pm_close_subflow()
1200 __mptcp_pm_close_subflow(msk); in mptcp_pm_close_subflow()
1201 spin_unlock_bh(&msk->pm.lock); in mptcp_pm_close_subflow()
1204 void mptcp_sockopt_sync_locked(struct mptcp_sock *msk, struct sock *ssk);
1213 static inline bool __mptcp_check_fallback(const struct mptcp_sock *msk) in __mptcp_check_fallback() argument
1215 return test_bit(MPTCP_FALLBACK_DONE, &msk->flags); in __mptcp_check_fallback()
1221 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_check_fallback() local
1223 return __mptcp_check_fallback(msk); in mptcp_check_fallback()
1226 static inline bool __mptcp_has_initial_subflow(const struct mptcp_sock *msk) in __mptcp_has_initial_subflow() argument
1228 struct sock *ssk = READ_ONCE(msk->first); in __mptcp_has_initial_subflow()
1235 bool __mptcp_try_fallback(struct mptcp_sock *msk, int fb_mib);
1241 struct mptcp_sock *msk; in mptcp_try_fallback() local
1243 msk = mptcp_sk(sk); in mptcp_try_fallback()
1244 if (!__mptcp_try_fallback(msk, fb_mib)) in mptcp_try_fallback()
1246 if (READ_ONCE(msk->snd_data_fin_enable) && !(ssk->sk_shutdown & SEND_SHUTDOWN)) { in mptcp_try_fallback()
1260 static inline void mptcp_early_fallback(struct mptcp_sock *msk, in mptcp_early_fallback() argument
1265 WARN_ON_ONCE(!__mptcp_try_fallback(msk, fb_mib)); in mptcp_early_fallback()