Lines Matching refs:msk

378 static inline void msk_owned_by_me(const struct mptcp_sock *msk)  in msk_owned_by_me()  argument
380 sock_owned_by_me((const struct sock *)msk); in msk_owned_by_me()
420 const struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_send_head() local
422 return msk->first_pending; in mptcp_send_head()
427 struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_send_next() local
430 cur = msk->first_pending; in mptcp_send_next()
431 return list_is_last(&cur->list, &msk->rtx_queue) ? NULL : in mptcp_send_next()
437 const struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_pending_tail() local
439 if (!msk->first_pending) in mptcp_pending_tail()
442 if (WARN_ON_ONCE(list_empty(&msk->rtx_queue))) in mptcp_pending_tail()
445 return list_last_entry(&msk->rtx_queue, struct mptcp_data_frag, list); in mptcp_pending_tail()
450 struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_rtx_head() local
452 if (msk->snd_una == msk->snd_nxt) in mptcp_rtx_head()
455 return list_first_entry_or_null(&msk->rtx_queue, struct mptcp_data_frag, list); in mptcp_rtx_head()
482 struct mptcp_sock *msk; member
771 void __mptcp_subflow_fully_established(struct mptcp_sock *msk,
786 struct sock *__mptcp_nmpc_sk(struct mptcp_sock *msk);
812 int mptcp_init_sched(struct mptcp_sock *msk,
814 void mptcp_release_sched(struct mptcp_sock *msk);
817 struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk);
818 struct sock *mptcp_subflow_get_retrans(struct mptcp_sock *msk);
819 int mptcp_sched_get_send(struct mptcp_sock *msk);
820 int mptcp_sched_get_retrans(struct mptcp_sock *msk);
822 static inline u64 mptcp_data_avail(const struct mptcp_sock *msk) in mptcp_data_avail() argument
824 return READ_ONCE(msk->bytes_received) - READ_ONCE(msk->bytes_consumed); in mptcp_data_avail()
889 void mptcp_reset_tout_timer(struct mptcp_sock *msk, unsigned long fail_tout);
918 void mptcp_rcv_space_init(struct mptcp_sock *msk, const struct sock *ssk);
938 bool mptcp_update_rcv_data_fin(struct mptcp_sock *msk, u64 data_fin_seq, bool use_64bit);
939 static inline bool mptcp_data_fin_enabled(const struct mptcp_sock *msk) in mptcp_data_fin_enabled() argument
941 return READ_ONCE(msk->snd_data_fin_enable) && in mptcp_data_fin_enabled()
942 READ_ONCE(msk->write_seq) == READ_ONCE(msk->snd_nxt); in mptcp_data_fin_enabled()
956 const struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_stream_memory_free() local
959 notsent_bytes = READ_ONCE(msk->write_seq) - READ_ONCE(msk->snd_nxt); in mptcp_stream_memory_free()
1038 struct mptcp_sock *msk);
1043 void mptcp_token_destroy(struct mptcp_sock *msk);
1051 void mptcp_pm_data_init(struct mptcp_sock *msk);
1052 void mptcp_pm_data_reset(struct mptcp_sock *msk);
1053 void mptcp_pm_destroy(struct mptcp_sock *msk);
1062 void mptcp_pm_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk);
1063 void mptcp_pm_new_connection(struct mptcp_sock *msk, const struct sock *ssk, int server_side);
1064 void mptcp_pm_fully_established(struct mptcp_sock *msk, const struct sock *ssk);
1065 bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk);
1066 void mptcp_pm_connection_closed(struct mptcp_sock *msk);
1067 void mptcp_pm_subflow_established(struct mptcp_sock *msk);
1068 bool mptcp_pm_nl_check_work_pending(struct mptcp_sock *msk);
1069 void mptcp_pm_subflow_check_next(struct mptcp_sock *msk,
1073 void mptcp_pm_add_addr_echoed(struct mptcp_sock *msk,
1075 void mptcp_pm_add_addr_send_ack(struct mptcp_sock *msk);
1076 void mptcp_pm_send_ack(struct mptcp_sock *msk,
1079 void mptcp_pm_addr_send_ack(struct mptcp_sock *msk);
1080 void mptcp_pm_nl_rm_addr(struct mptcp_sock *msk, u8 rm_id);
1081 void mptcp_pm_rm_subflow(struct mptcp_sock *msk,
1083 void mptcp_pm_rm_addr_received(struct mptcp_sock *msk,
1087 int mptcp_pm_mp_prio_send_ack(struct mptcp_sock *msk,
1091 bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk,
1093 bool mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk, const struct sock *sk);
1095 mptcp_pm_del_add_timer(struct mptcp_sock *msk,
1099 bool mptcp_remove_anno_list_by_saddr(struct mptcp_sock *msk,
1105 int mptcp_pm_announce_addr(struct mptcp_sock *msk,
1108 int mptcp_pm_remove_addr(struct mptcp_sock *msk, const struct mptcp_rm_list *rm_list);
1109 void mptcp_pm_remove_addr_entry(struct mptcp_sock *msk,
1121 void mptcp_userspace_pm_free_local_addr_list(struct mptcp_sock *msk);
1123 void mptcp_event(enum mptcp_event_type type, const struct mptcp_sock *msk,
1126 void mptcp_event_addr_removed(const struct mptcp_sock *msk, u8 id);
1129 bool mptcp_userspace_pm_active(const struct mptcp_sock *msk);
1137 static inline bool mptcp_pm_should_add_signal(struct mptcp_sock *msk) in mptcp_pm_should_add_signal() argument
1139 return READ_ONCE(msk->pm.addr_signal) & in mptcp_pm_should_add_signal()
1143 static inline bool mptcp_pm_should_add_signal_addr(struct mptcp_sock *msk) in mptcp_pm_should_add_signal_addr() argument
1145 return READ_ONCE(msk->pm.addr_signal) & BIT(MPTCP_ADD_ADDR_SIGNAL); in mptcp_pm_should_add_signal_addr()
1148 static inline bool mptcp_pm_should_add_signal_echo(struct mptcp_sock *msk) in mptcp_pm_should_add_signal_echo() argument
1150 return READ_ONCE(msk->pm.addr_signal) & BIT(MPTCP_ADD_ADDR_ECHO); in mptcp_pm_should_add_signal_echo()
1153 static inline bool mptcp_pm_should_rm_signal(struct mptcp_sock *msk) in mptcp_pm_should_rm_signal() argument
1155 return READ_ONCE(msk->pm.addr_signal) & BIT(MPTCP_RM_ADDR_SIGNAL); in mptcp_pm_should_rm_signal()
1158 static inline bool mptcp_pm_is_userspace(const struct mptcp_sock *msk) in mptcp_pm_is_userspace() argument
1160 return READ_ONCE(msk->pm.pm_type) == MPTCP_PM_TYPE_USERSPACE; in mptcp_pm_is_userspace()
1163 static inline bool mptcp_pm_is_kernel(const struct mptcp_sock *msk) in mptcp_pm_is_kernel() argument
1165 return READ_ONCE(msk->pm.pm_type) == MPTCP_PM_TYPE_KERNEL; in mptcp_pm_is_kernel()
1191 bool mptcp_pm_add_addr_signal(struct mptcp_sock *msk, const struct sk_buff *skb,
1195 bool mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, unsigned int remaining,
1197 int mptcp_pm_get_local_id(struct mptcp_sock *msk, struct sock_common *skc);
1198 int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk,
1200 int mptcp_userspace_pm_get_local_id(struct mptcp_sock *msk,
1202 bool mptcp_pm_is_backup(struct mptcp_sock *msk, struct sock_common *skc);
1203 bool mptcp_pm_nl_is_backup(struct mptcp_sock *msk, struct mptcp_addr_info *skc);
1204 bool mptcp_userspace_pm_is_backup(struct mptcp_sock *msk, struct mptcp_addr_info *skc);
1226 void mptcp_pm_worker(struct mptcp_sock *msk);
1227 void __mptcp_pm_kernel_worker(struct mptcp_sock *msk);
1228 u8 mptcp_pm_get_endp_signal_max(const struct mptcp_sock *msk);
1229 u8 mptcp_pm_get_endp_subflow_max(const struct mptcp_sock *msk);
1230 u8 mptcp_pm_get_endp_laminar_max(const struct mptcp_sock *msk);
1231 u8 mptcp_pm_get_endp_fullmesh_max(const struct mptcp_sock *msk);
1232 u8 mptcp_pm_get_limit_add_addr_accepted(const struct mptcp_sock *msk);
1233 u8 mptcp_pm_get_limit_extra_subflows(const struct mptcp_sock *msk);
1236 static inline void __mptcp_pm_close_subflow(struct mptcp_sock *msk) in __mptcp_pm_close_subflow() argument
1238 if (--msk->pm.extra_subflows < mptcp_pm_get_limit_extra_subflows(msk)) in __mptcp_pm_close_subflow()
1239 WRITE_ONCE(msk->pm.accept_subflow, true); in __mptcp_pm_close_subflow()
1242 static inline void mptcp_pm_close_subflow(struct mptcp_sock *msk) in mptcp_pm_close_subflow() argument
1244 spin_lock_bh(&msk->pm.lock); in mptcp_pm_close_subflow()
1245 __mptcp_pm_close_subflow(msk); in mptcp_pm_close_subflow()
1246 spin_unlock_bh(&msk->pm.lock); in mptcp_pm_close_subflow()
1249 static inline bool mptcp_pm_add_addr_c_flag_case(struct mptcp_sock *msk) in mptcp_pm_add_addr_c_flag_case() argument
1251 return READ_ONCE(msk->pm.remote_deny_join_id0) && in mptcp_pm_add_addr_c_flag_case()
1252 msk->pm.local_addr_used == 0 && in mptcp_pm_add_addr_c_flag_case()
1253 mptcp_pm_get_limit_add_addr_accepted(msk) == 0 && in mptcp_pm_add_addr_c_flag_case()
1254 msk->pm.extra_subflows < mptcp_pm_get_limit_extra_subflows(msk); in mptcp_pm_add_addr_c_flag_case()
1257 void mptcp_sockopt_sync_locked(struct mptcp_sock *msk, struct sock *ssk);
1266 static inline bool __mptcp_check_fallback(const struct mptcp_sock *msk) in __mptcp_check_fallback() argument
1268 return test_bit(MPTCP_FALLBACK_DONE, &msk->flags); in __mptcp_check_fallback()
1274 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_check_fallback() local
1276 return __mptcp_check_fallback(msk); in mptcp_check_fallback()
1279 static inline bool __mptcp_has_initial_subflow(const struct mptcp_sock *msk) in __mptcp_has_initial_subflow() argument
1281 struct sock *ssk = READ_ONCE(msk->first); in __mptcp_has_initial_subflow()
1288 bool __mptcp_try_fallback(struct mptcp_sock *msk, int fb_mib);
1294 struct mptcp_sock *msk; in mptcp_try_fallback() local
1296 msk = mptcp_sk(sk); in mptcp_try_fallback()
1297 if (!__mptcp_try_fallback(msk, fb_mib)) in mptcp_try_fallback()
1299 if (READ_ONCE(msk->snd_data_fin_enable) && !(ssk->sk_shutdown & SEND_SHUTDOWN)) { in mptcp_try_fallback()
1313 static inline void mptcp_early_fallback(struct mptcp_sock *msk, in mptcp_early_fallback() argument
1318 WARN_ON_ONCE(!__mptcp_try_fallback(msk, fb_mib)); in mptcp_early_fallback()