/kernel/linux/linux-6.6/net/mptcp/ |
H A D | sockopt.c | 41 * new ssk completes join, inherits options from s0 // seq 2 in sockopt_seq_reset() 42 * Needs sync from mptcp join logic, but ssk->seq == msk->seq in sockopt_seq_reset() 44 * Set High order bits to sk_state so ssk->seq == msk->seq test in sockopt_seq_reset() 79 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_sol_socket_sync_intval() local 80 bool slow = lock_sock_fast(ssk); in mptcp_sol_socket_sync_intval() 84 sock_valbool_flag(ssk, SOCK_DBG, !!val); in mptcp_sol_socket_sync_intval() 87 if (ssk->sk_prot->keepalive) in mptcp_sol_socket_sync_intval() 88 ssk->sk_prot->keepalive(ssk, !!val); in mptcp_sol_socket_sync_intval() 89 sock_valbool_flag(ssk, SOCK_KEEPOPE in mptcp_sol_socket_sync_intval() 161 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_setsockopt_sol_socket_tstamp() local 239 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_setsockopt_sol_socket_timestamping() local 274 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_setsockopt_sol_socket_linger() local 296 struct sock *ssk; mptcp_setsockopt_sol_socket() local 394 struct sock *ssk; mptcp_setsockopt_v6() local 608 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_setsockopt_sol_tcp_congestion() local 643 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_setsockopt_sol_tcp_cork() local 673 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_setsockopt_sol_tcp_nodelay() local 690 struct sock *ssk; mptcp_setsockopt_sol_ip_set_transparent() local 740 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_setsockopt_v4_set_tos() local 770 struct sock *ssk; mptcp_setsockopt_first_sf_only() local 833 struct sock *ssk; mptcp_setsockopt() local 871 struct sock *ssk; mptcp_getsockopt_first_sf_only() local 1048 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_getsockopt_tcpinfo() local 1140 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_getsockopt_subflow_addrs() local 1248 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_getsockopt_full_info() local 1377 struct sock *ssk; mptcp_getsockopt() local 1402 sync_socket_options(struct mptcp_sock *msk, struct sock *ssk) sync_socket_options() argument 1453 __mptcp_sockopt_sync(struct mptcp_sock *msk, struct sock *ssk) __mptcp_sockopt_sync() argument 1462 mptcp_sockopt_sync(struct mptcp_sock *msk, struct sock *ssk) mptcp_sockopt_sync() argument 1475 mptcp_sockopt_sync_locked(struct mptcp_sock *msk, struct sock *ssk) mptcp_sockopt_sync_locked() argument [all...] |
H A D | protocol.c | 336 static bool mptcp_rmem_schedule(struct sock *sk, struct sock *ssk, int size) in mptcp_rmem_schedule() argument 354 static bool __mptcp_move_skb(struct mptcp_sock *msk, struct sock *ssk, in __mptcp_move_skb() argument 358 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in __mptcp_move_skb() 363 __skb_unlink(skb, &ssk->sk_receive_queue); in __mptcp_move_skb() 369 if (!mptcp_rmem_schedule(sk, ssk, skb->truesize)) in __mptcp_move_skb() 498 const struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_timeout_from_subflow() local 500 return inet_csk(ssk)->icsk_pending && !subflow->stale_count ? in mptcp_timeout_from_subflow() 501 inet_csk(ssk)->icsk_timeout - jiffies : 0; in mptcp_timeout_from_subflow() 514 static inline bool tcp_can_send_ack(const struct sock *ssk) in tcp_can_send_ack() argument 516 return !((1 << inet_sk_state_load(ssk)) in tcp_can_send_ack() 520 __mptcp_subflow_send_ack(struct sock *ssk) __mptcp_subflow_send_ack() argument 526 mptcp_subflow_send_ack(struct sock *ssk) mptcp_subflow_send_ack() argument 543 mptcp_subflow_cleanup_rbuf(struct sock *ssk) mptcp_subflow_cleanup_rbuf() argument 553 mptcp_subflow_could_cleanup(const struct sock *ssk, bool rx_empty) mptcp_subflow_could_cleanup() argument 578 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_cleanup_rbuf() local 635 __mptcp_move_skbs_from_subflow(struct mptcp_sock *msk, struct sock *ssk, unsigned int *bytes) __mptcp_move_skbs_from_subflow() argument 773 __mptcp_subflow_error_report(struct sock *sk, struct sock *ssk) __mptcp_subflow_error_report() argument 816 move_skbs_to_msk(struct mptcp_sock *msk, struct sock *ssk) move_skbs_to_msk() argument 840 mptcp_data_ready(struct sock *sk, struct sock *ssk) mptcp_data_ready() argument 872 mptcp_subflow_joined(struct mptcp_sock *msk, struct sock *ssk) mptcp_subflow_joined() argument 879 __mptcp_finish_join(struct mptcp_sock *msk, struct sock *ssk) __mptcp_finish_join() argument 906 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); __mptcp_flush_join_list() local 1084 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_enter_memory_pressure() local 1135 mptcp_check_allowed_size(const struct mptcp_sock *msk, struct sock *ssk, u64 data_seq, int avail_size) mptcp_check_allowed_size() argument 1184 __mptcp_alloc_tx_skb(struct sock *sk, struct sock *ssk, gfp_t gfp) __mptcp_alloc_tx_skb() argument 1201 mptcp_alloc_tx_skb(struct sock *sk, struct sock *ssk, bool data_lock_held) mptcp_alloc_tx_skb() argument 1220 mptcp_update_infinite_map(struct mptcp_sock *msk, struct sock *ssk, struct mptcp_ext *mpext) mptcp_update_infinite_map() argument 1238 mptcp_sendmsg_frag(struct sock *sk, struct sock *ssk, struct mptcp_data_frag *dfrag, struct mptcp_sendmsg_info *info) mptcp_sendmsg_frag() argument 1383 struct sock *ssk; global() member 1424 struct sock *ssk; mptcp_subflow_get_send() local 1491 mptcp_push_release(struct sock *ssk, struct mptcp_sendmsg_info *info) mptcp_push_release() argument 1533 __subflow_push_pending(struct sock *sk, struct sock *ssk, struct mptcp_sendmsg_info *info) __subflow_push_pending() argument 1577 struct sock *prev_ssk = NULL, *ssk = NULL; __mptcp_push_pending() local 1640 __mptcp_subflow_push_pending(struct sock *sk, struct sock *ssk, bool first) __mptcp_subflow_push_pending() argument 1723 struct sock *ssk; mptcp_sendmsg_fastopen() local 2034 struct sock *ssk; mptcp_rcv_space_adjust() local 2079 struct sock *ssk = mptcp_subflow_recv_lookup(msk); __mptcp_move_skbs() local 2291 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_subflow_get_retrans() local 2365 __mptcp_subflow_disconnect(struct sock *ssk, struct mptcp_subflow_context *subflow, unsigned int flags) __mptcp_subflow_disconnect() argument 2389 __mptcp_close_ssk(struct sock *sk, struct sock *ssk, struct mptcp_subflow_context *subflow, unsigned int flags) __mptcp_close_ssk() argument 2482 mptcp_close_ssk(struct sock *sk, struct sock *ssk, struct mptcp_subflow_context *subflow) mptcp_close_ssk() argument 2491 mptcp_pm_subflow_check_next(mptcp_sk(sk), ssk, subflow); mptcp_close_ssk() local 2509 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); __mptcp_close_subflow() local 2588 struct sock *ssk; __mptcp_retrans() local 2685 struct sock *ssk = msk->first; mptcp_mp_fail_no_response() local 2846 mptcp_subflow_shutdown(struct sock *sk, struct sock *ssk, int how) mptcp_subflow_shutdown() argument 3010 struct sock *ssk; mptcp_check_listen_stop() local 3058 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); __mptcp_close() local 3113 mptcp_copy_inaddrs(struct sock *msk, const struct sock *ssk) mptcp_copy_inaddrs() argument 3234 mptcp_sk_clone_init(const struct sock *sk, const struct mptcp_options_received *mp_opt, struct sock *ssk, struct request_sock *req) mptcp_sk_clone_init() argument 3314 mptcp_rcv_space_init(struct mptcp_sock *msk, const struct sock *ssk) mptcp_rcv_space_init() argument 3331 mptcp_accept(struct sock *ssk, int flags, int *err, bool kern) mptcp_accept() argument 3418 __mptcp_check_push(struct sock *sk, struct sock *ssk) __mptcp_check_push() argument 3492 schedule_3rdack_retransmission(struct sock *ssk) schedule_3rdack_retransmission() argument 3514 mptcp_subflow_process_delegated(struct sock *ssk, long status) mptcp_subflow_process_delegated() argument 3564 mptcp_finish_connect(struct sock *ssk) mptcp_finish_connect() argument 3596 mptcp_finish_join(struct sock *ssk) mptcp_finish_join() argument 3734 struct sock *ssk; mptcp_connect() local 3835 struct sock *ssk, *sk = sock->sk; mptcp_bind() local 3863 struct sock *ssk; mptcp_listen() local 3903 struct sock *ssk, *newsk; mptcp_stream_accept() local 3933 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_stream_accept() local 3984 struct sock *ssk = READ_ONCE(msk->first); mptcp_poll() local 4055 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_napi_poll() local [all...] |
H A D | subflow.c | 31 static void mptcp_subflow_ops_undo_override(struct sock *ssk); 395 void mptcp_subflow_reset(struct sock *ssk) in mptcp_subflow_reset() argument 397 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in mptcp_subflow_reset() 403 if (ssk->sk_state == TCP_CLOSE) in mptcp_subflow_reset() 409 tcp_send_active_reset(ssk, GFP_ATOMIC); in mptcp_subflow_reset() 410 tcp_done(ssk); in mptcp_subflow_reset() 426 struct sock *ssk = msk->first; in __mptcp_sync_state() local 428 subflow = mptcp_subflow_ctx(ssk); in __mptcp_sync_state() 429 __mptcp_propagate_sndbuf(sk, ssk); in __mptcp_sync_state() 431 mptcp_rcv_space_init(msk, ssk); in __mptcp_sync_state() 465 mptcp_propagate_state(struct sock *sk, struct sock *ssk, struct mptcp_subflow_context *subflow, const struct mptcp_options_received *mp_opt) mptcp_propagate_state() argument 737 mptcp_subflow_drop_ctx(struct sock *ssk) mptcp_subflow_drop_ctx() argument 930 skb_is_fully_mapped(struct sock *ssk, struct sk_buff *skb) skb_is_fully_mapped() argument 943 validate_mapping(struct sock *ssk, struct sk_buff *skb) validate_mapping() argument 964 validate_data_csum(struct sock *ssk, struct sk_buff *skb, bool csum_reqd) validate_data_csum() argument 1043 get_mapping_status(struct sock *ssk, struct mptcp_sock *msk) get_mapping_status() argument 1188 mptcp_subflow_discard_data(struct sock *ssk, struct sk_buff *skb, u64 limit) mptcp_subflow_discard_data() argument 1208 subflow_sched_work_if_closed(struct mptcp_sock *msk, struct sock *ssk) subflow_sched_work_if_closed() argument 1230 mptcp_subflow_fail(struct mptcp_sock *msk, struct sock *ssk) mptcp_subflow_fail() argument 1257 subflow_check_data_avail(struct sock *ssk) subflow_check_data_avail() argument 1381 mptcp_space(const struct sock *ssk, int *space, int *full_space) mptcp_space() argument 1390 subflow_error_report(struct sock *ssk) subflow_error_report() argument 1439 subflow_write_space(struct sock *ssk) subflow_write_space() argument 1518 struct sock *ssk; __mptcp_subflow_connect() local 1623 mptcp_subflow_ops_override(struct sock *ssk) mptcp_subflow_ops_override() argument 1633 mptcp_subflow_ops_undo_override(struct sock *ssk) mptcp_subflow_ops_undo_override() argument 1787 struct sock *sk, *ssk; mptcp_subflow_queue_clean() local 1893 subflow_ulp_release(struct sock *ssk) subflow_ulp_release() argument 1980 tcp_release_cb_override(struct sock *ssk) tcp_release_cb_override() argument 1996 tcp_abort_override(struct sock *ssk, int err) tcp_abort_override() argument [all...] |
H A D | protocol.h | 577 void mptcp_subflow_process_delegated(struct sock *ssk, long actions); 634 void mptcp_subflow_shutdown(struct sock *sk, struct sock *ssk, int how); 635 void mptcp_close_ssk(struct sock *sk, struct sock *ssk, 637 void __mptcp_subflow_send_ack(struct sock *ssk); 638 void mptcp_subflow_reset(struct sock *ssk); 639 void mptcp_subflow_queue_clean(struct sock *sk, struct sock *ssk); 674 static inline bool __tcp_can_send(const struct sock *ssk) in __tcp_can_send() argument 677 return ((1 << inet_sk_state_load(ssk)) & (TCPF_ESTABLISHED | TCPF_CLOSE_WAIT)); in __tcp_can_send() 693 void mptcp_subflow_drop_ctx(struct sock *ssk); 713 struct sock *ssk, 809 __mptcp_propagate_sndbuf(struct sock *sk, struct sock *ssk) __mptcp_propagate_sndbuf() argument 822 mptcp_propagate_sndbuf(struct sock *sk, struct sock *ssk) mptcp_propagate_sndbuf() argument 1076 mptcp_do_fallback(struct sock *ssk) mptcp_do_fallback() argument [all...] |
H A D | fastopen.c | 12 struct sock *sk, *ssk; in mptcp_fastopen_subflow_synack_set_params() local 22 ssk = subflow->tcp_sock; in mptcp_fastopen_subflow_synack_set_params() 24 tp = tcp_sk(ssk); in mptcp_fastopen_subflow_synack_set_params() 28 skb = skb_peek(&ssk->sk_receive_queue); in mptcp_fastopen_subflow_synack_set_params() 33 __skb_unlink(skb, &ssk->sk_receive_queue); in mptcp_fastopen_subflow_synack_set_params()
|
H A D | pm.c | 76 void mptcp_pm_new_connection(struct mptcp_sock *msk, const struct sock *ssk, int server_side) in mptcp_pm_new_connection() argument 83 mptcp_event(MPTCP_EVENT_CREATED, msk, ssk, GFP_ATOMIC); in mptcp_pm_new_connection() 138 void mptcp_pm_fully_established(struct mptcp_sock *msk, const struct sock *ssk) in mptcp_pm_fully_established() argument 162 mptcp_event(MPTCP_EVENT_ESTABLISHED, msk, ssk, GFP_ATOMIC); in mptcp_pm_fully_established() 187 void mptcp_pm_subflow_check_next(struct mptcp_sock *msk, const struct sock *ssk, in mptcp_pm_subflow_check_next() argument 219 void mptcp_pm_add_addr_received(const struct sock *ssk, in mptcp_pm_add_addr_received() argument 222 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in mptcp_pm_add_addr_received() 229 mptcp_event_addr_announced(ssk, addr); in mptcp_pm_add_addr_received() 294 void mptcp_pm_mp_prio_received(struct sock *ssk, u8 bkup) in mptcp_pm_mp_prio_received() argument 296 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in mptcp_pm_mp_prio_received() 453 mptcp_pm_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk) mptcp_pm_subflow_chk_stale() argument [all...] |
H A D | pm_netlink.c | 408 struct sock *sk = (struct sock *)msk, *ssk; in fill_remote_addresses_vec() local 441 ssk = mptcp_subflow_tcp_sock(subflow); in fill_remote_addresses_vec() 442 remote_address((struct sock_common *)ssk, &addrs[i]); in fill_remote_addresses_vec() 470 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in __mptcp_pm_send_ack() local 476 slow = lock_sock_fast(ssk); in __mptcp_pm_send_ack() 483 __mptcp_subflow_send_ack(ssk); in __mptcp_pm_send_ack() 484 unlock_sock_fast(ssk, slow); in __mptcp_pm_send_ack() 752 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_pm_nl_mp_prio_send_ack() local 755 mptcp_local_address((struct sock_common *)ssk, &local); in mptcp_pm_nl_mp_prio_send_ack() 760 remote_address((struct sock_common *)ssk, in mptcp_pm_nl_mp_prio_send_ack() 804 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_pm_nl_rm_addr_or_subflow() local 1010 struct sock *newsk, *ssk; mptcp_pm_nl_create_listen_socket() local 1139 mptcp_pm_nl_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk) mptcp_pm_nl_subflow_chk_stale() argument 1985 mptcp_event_add_subflow(struct sk_buff *skb, const struct sock *ssk) mptcp_event_add_subflow() argument 2034 mptcp_event_put_token_and_ssk(struct sk_buff *skb, const struct mptcp_sock *msk, const struct sock *ssk) mptcp_event_put_token_and_ssk() argument 2067 mptcp_event_sub_established(struct sk_buff *skb, const struct mptcp_sock *msk, const struct sock *ssk) mptcp_event_sub_established() argument 2074 mptcp_event_sub_closed(struct sk_buff *skb, const struct mptcp_sock *msk, const struct sock *ssk) mptcp_event_sub_closed() argument 2096 mptcp_event_created(struct sk_buff *skb, const struct mptcp_sock *msk, const struct sock *ssk) mptcp_event_created() argument 2142 mptcp_event_addr_announced(const struct sock *ssk, const struct mptcp_addr_info *info) mptcp_event_addr_announced() argument 2199 mptcp_event_pm_listener(const struct sock *ssk, enum mptcp_event_type event) mptcp_event_pm_listener() argument 2251 mptcp_event(enum mptcp_event_type type, const struct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp) mptcp_event() argument [all...] |
H A D | pm_userspace.c | 411 struct sock *ssk; in mptcp_nl_find_ssk() local 413 ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_nl_find_ssk() 415 if (local->family != ssk->sk_family) in mptcp_nl_find_ssk() 418 issk = inet_sk(ssk); in mptcp_nl_find_ssk() 420 switch (ssk->sk_family) { in mptcp_nl_find_ssk() 428 const struct ipv6_pinfo *pinfo = inet6_sk(ssk); in mptcp_nl_find_ssk() 431 !ipv6_addr_equal(&remote->addr6, &ssk->sk_v6_daddr)) in mptcp_nl_find_ssk() 442 return ssk; in mptcp_nl_find_ssk() 456 struct sock *sk, *ssk; in mptcp_nl_cmd_sf_destroy() local 514 ssk in mptcp_nl_cmd_sf_destroy() [all...] |
H A D | sched.c | 22 struct sock *ssk; in mptcp_sched_default_get_subflow() local 24 ssk = data->reinject ? mptcp_subflow_get_retrans(msk) : in mptcp_sched_default_get_subflow() 26 if (!ssk) in mptcp_sched_default_get_subflow() 29 mptcp_subflow_set_scheduled(mptcp_subflow_ctx(ssk), true); in mptcp_sched_default_get_subflow()
|
H A D | options.c | 925 static bool check_fully_established(struct mptcp_sock *msk, struct sock *ssk, in check_fully_established() argument 942 tcp_send_ack(ssk); in check_fully_established() 977 mptcp_do_fallback(ssk); in check_fully_established() 1003 clear_3rdack_retransmission(ssk); in check_fully_established() 1006 mptcp_pm_fully_established(msk, ssk); in check_fully_established() 1011 mptcp_subflow_reset(ssk); in check_fully_established() 1038 struct sock *ssk, in ack_update_msk() 1058 new_wnd_end = new_snd_una + tcp_sk(ssk)->snd_wnd; in ack_update_msk() 1065 __mptcp_check_push(sk, ssk); in ack_update_msk() 1252 const struct sock *ssk in mptcp_set_rwin() local 1037 ack_update_msk(struct mptcp_sock *msk, struct sock *ssk, struct mptcp_options_received *mp_opt) ack_update_msk() argument 1347 const struct sock *ssk = (const struct sock *)tp; mptcp_write_options() local [all...] |
H A D | token.c | 137 * @ssk: the socket that will initiate a connection 151 int mptcp_token_new_connect(struct sock *ssk) in mptcp_token_new_connect() argument 153 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in mptcp_token_new_connect() 172 pr_debug("ssk=%p, local_key=%llu, token=%u, idsn=%llu\n", in mptcp_token_new_connect() 173 ssk, subflow->local_key, subflow->token, subflow->idsn); in mptcp_token_new_connect()
|
/kernel/linux/linux-5.10/net/mptcp/ |
H A D | protocol.c | 264 static bool __mptcp_move_skb(struct mptcp_sock *msk, struct sock *ssk, in __mptcp_move_skb() argument 268 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in __mptcp_move_skb() 272 __skb_unlink(skb, &ssk->sk_receive_queue); in __mptcp_move_skb() 281 if (ssk->sk_forward_alloc < amount) in __mptcp_move_skb() 284 ssk->sk_forward_alloc -= amount; in __mptcp_move_skb() 383 static void mptcp_set_timeout(const struct sock *sk, const struct sock *ssk) in mptcp_set_timeout() argument 385 long tout = ssk && inet_csk(ssk)->icsk_pending ? in mptcp_set_timeout() 386 inet_csk(ssk)->icsk_timeout - jiffies : 0; in mptcp_set_timeout() 443 struct sock *ssk in mptcp_check_data_fin() local 460 __mptcp_move_skbs_from_subflow(struct mptcp_sock *msk, struct sock *ssk, unsigned int *bytes) __mptcp_move_skbs_from_subflow() argument 592 move_skbs_to_msk(struct mptcp_sock *msk, struct sock *ssk) move_skbs_to_msk() argument 623 mptcp_data_ready(struct sock *sk, struct sock *ssk) mptcp_data_ready() argument 891 mptcp_sendmsg_frag(struct sock *sk, struct sock *ssk, struct msghdr *msg, struct mptcp_data_frag *dfrag, long *timeo, int *pmss_now, int *ps_goal) mptcp_sendmsg_frag() argument 1055 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_nospace() local 1066 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_subflow_active() local 1083 struct sock *ssk; global() member 1093 struct sock *ssk; mptcp_subflow_get_send() local 1177 struct sock *ssk; mptcp_sendmsg() local 1456 struct sock *ssk; mptcp_rcv_space_adjust() local 1486 struct sock *ssk = mptcp_subflow_recv_lookup(msk); __mptcp_move_skbs() local 1653 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_subflow_get_retrans() local 1685 __mptcp_close_ssk(struct sock *sk, struct sock *ssk, struct mptcp_subflow_context *subflow, long timeout) __mptcp_close_ssk() argument 1739 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); __mptcp_close_subflow() local 1751 struct sock *ssk, *sk = &msk->sk.icsk_inet.sk; mptcp_worker() local 1900 mptcp_subflow_shutdown(struct sock *sk, struct sock *ssk, int how) mptcp_subflow_shutdown() argument 2004 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_close() local 2015 mptcp_copy_inaddrs(struct sock *msk, const struct sock *ssk) mptcp_copy_inaddrs() argument 2104 mptcp_rcv_space_init(struct mptcp_sock *msk, const struct sock *ssk) mptcp_rcv_space_init() argument 2142 struct sock *ssk = newsk; mptcp_accept() local 2304 struct sock *ssk; mptcp_setsockopt() local 2336 struct sock *ssk; mptcp_getsockopt() local 2376 struct sock *ssk; mptcp_release_cb() local 2416 mptcp_finish_connect(struct sock *ssk) mptcp_finish_connect() argument 2679 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_stream_accept() local [all...] |
H A D | subflow.c | 273 void mptcp_subflow_reset(struct sock *ssk) in mptcp_subflow_reset() argument 275 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in mptcp_subflow_reset() 278 tcp_send_active_reset(ssk, GFP_ATOMIC); in mptcp_subflow_reset() 279 tcp_done(ssk); in mptcp_subflow_reset() 500 static void subflow_drop_ctx(struct sock *ssk) in subflow_drop_ctx() argument 502 struct mptcp_subflow_context *ctx = mptcp_subflow_ctx(ssk); in subflow_drop_ctx() 507 subflow_ulp_fallback(ssk, ctx); in subflow_drop_ctx() 689 static bool skb_is_fully_mapped(struct sock *ssk, struct sk_buff *skb) in skb_is_fully_mapped() argument 691 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in skb_is_fully_mapped() 694 skb_consumed = tcp_sk(ssk) in skb_is_fully_mapped() 702 validate_mapping(struct sock *ssk, struct sk_buff *skb) validate_mapping() argument 723 get_mapping_status(struct sock *ssk, struct mptcp_sock *msk) get_mapping_status() argument 858 mptcp_subflow_discard_data(struct sock *ssk, struct sk_buff *skb, u64 limit) mptcp_subflow_discard_data() argument 879 subflow_check_data_avail(struct sock *ssk) subflow_check_data_avail() argument 993 mptcp_space(const struct sock *ssk, int *space, int *full_space) mptcp_space() argument 1105 struct sock *ssk; __mptcp_subflow_connect() local [all...] |
H A D | protocol.h | 369 void mptcp_subflow_shutdown(struct sock *sk, struct sock *ssk, int how); 370 void __mptcp_close_ssk(struct sock *sk, struct sock *ssk, 373 void mptcp_subflow_reset(struct sock *ssk); 407 void mptcp_rcv_space_init(struct mptcp_sock *msk, const struct sock *ssk); 408 void mptcp_data_ready(struct sock *sk, struct sock *ssk);
|
H A D | pm_netlink.c | 414 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_pm_nl_rm_addr_received() local 422 mptcp_subflow_shutdown(sk, ssk, how); in mptcp_pm_nl_rm_addr_received() 423 __mptcp_close_ssk(sk, ssk, subflow, timeout); in mptcp_pm_nl_rm_addr_received() 450 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_pm_nl_rm_subflow_received() local 458 mptcp_subflow_shutdown(sk, ssk, how); in mptcp_pm_nl_rm_subflow_received() 459 __mptcp_close_ssk(sk, ssk, subflow, timeout); in mptcp_pm_nl_rm_subflow_received()
|
H A D | options.c | 724 static bool check_fully_established(struct mptcp_sock *msk, struct sock *ssk, in check_fully_established() argument 741 tcp_send_ack(ssk); in check_fully_established() 788 clear_3rdack_retransmission(ssk); in check_fully_established() 796 mptcp_subflow_reset(ssk); in check_fully_established()
|
/kernel/linux/linux-6.6/include/trace/events/ |
H A D | mptcp.h | 34 struct sock *ssk; 44 ssk = mptcp_subflow_tcp_sock(subflow); 45 if (ssk && sk_fullsock(ssk)) { 46 __entry->snd_wnd = tcp_sk(ssk)->snd_wnd; 47 __entry->pace = ssk->sk_pacing_rate; 53 if (ssk && sk_fullsock(ssk) && __entry->pace) 54 __entry->ratio = div_u64((u64)ssk->sk_wmem_queued << 32, __entry->pace);
|
/kernel/linux/linux-5.10/include/linux/ |
H A D | netlink.h | 154 int netlink_unicast(struct sock *ssk, struct sk_buff *skb, __u32 portid, int nonblock); 155 int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, __u32 portid, 157 int netlink_broadcast_filtered(struct sock *ssk, struct sk_buff *skb, 161 int netlink_set_err(struct sock *ssk, __u32 portid, __u32 group, int code); 168 long *timeo, struct sock *ssk); 246 int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb, 249 static inline int netlink_dump_start(struct sock *ssk, struct sk_buff *skb, in netlink_dump_start() argument 256 return __netlink_dump_start(ssk, skb, nlh, control); in netlink_dump_start()
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | netlink.h | 228 int netlink_unicast(struct sock *ssk, struct sk_buff *skb, __u32 portid, int nonblock); 229 int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, __u32 portid, 231 int netlink_broadcast_filtered(struct sock *ssk, struct sk_buff *skb, 236 int netlink_set_err(struct sock *ssk, __u32 portid, __u32 group, int code); 243 long *timeo, struct sock *ssk); 326 int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb, 329 static inline int netlink_dump_start(struct sock *ssk, struct sk_buff *skb, in netlink_dump_start() argument 336 return __netlink_dump_start(ssk, skb, nlh, control); in netlink_dump_start()
|
H A D | security.h | 1485 int security_mptcp_add_subflow(struct sock *sk, struct sock *ssk); 1714 static inline int security_mptcp_add_subflow(struct sock *sk, struct sock *ssk) in security_mptcp_add_subflow() argument
|
/kernel/linux/linux-5.10/net/netlink/ |
H A D | af_netlink.c | 1151 static struct sock *netlink_getsockbyportid(struct sock *ssk, u32 portid) in netlink_getsockbyportid() argument 1156 sock = netlink_lookup(sock_net(ssk), ssk->sk_protocol, portid); in netlink_getsockbyportid() 1164 READ_ONCE(nlk->dst_portid) != nlk_sk(ssk)->portid) { in netlink_getsockbyportid() 1223 long *timeo, struct sock *ssk) in netlink_attachskb() 1233 if (!ssk || netlink_is_kernel(ssk)) in netlink_attachskb() 1311 struct sock *ssk) in netlink_unicast_kernel() 1320 NETLINK_CB(skb).sk = ssk; in netlink_unicast_kernel() 1321 netlink_deliver_tap_kernel(sk, ssk, sk in netlink_unicast_kernel() 1222 netlink_attachskb(struct sock *sk, struct sk_buff *skb, long *timeo, struct sock *ssk) netlink_attachskb() argument 1310 netlink_unicast_kernel(struct sock *sk, struct sk_buff *skb, struct sock *ssk) netlink_unicast_kernel() argument 1331 netlink_unicast(struct sock *ssk, struct sk_buff *skb, u32 portid, int nonblock) netlink_unicast() argument 1500 netlink_broadcast_filtered(struct sock *ssk, struct sk_buff *skb, u32 portid, u32 group, gfp_t allocation, int (*filter)(struct sock *dsk, struct sk_buff *skb, void *data), void *filter_data) netlink_broadcast_filtered() argument 1551 netlink_broadcast(struct sock *ssk, struct sk_buff *skb, u32 portid, u32 group, gfp_t allocation) netlink_broadcast() argument 1602 netlink_set_err(struct sock *ssk, u32 portid, u32 group, int code) netlink_set_err() argument 2322 __netlink_dump_start(struct sock *ssk, struct sk_buff *skb, const struct nlmsghdr *nlh, struct netlink_dump_control *control) __netlink_dump_start() argument [all...] |
/kernel/linux/linux-6.6/net/netlink/ |
H A D | af_netlink.c | 1171 static struct sock *netlink_getsockbyportid(struct sock *ssk, u32 portid) in netlink_getsockbyportid() argument 1176 sock = netlink_lookup(sock_net(ssk), ssk->sk_protocol, portid); in netlink_getsockbyportid() 1184 READ_ONCE(nlk->dst_portid) != nlk_sk(ssk)->portid) { in netlink_getsockbyportid() 1243 long *timeo, struct sock *ssk) in netlink_attachskb() 1253 if (!ssk || netlink_is_kernel(ssk)) in netlink_attachskb() 1331 struct sock *ssk) in netlink_unicast_kernel() 1340 NETLINK_CB(skb).sk = ssk; in netlink_unicast_kernel() 1341 netlink_deliver_tap_kernel(sk, ssk, sk in netlink_unicast_kernel() 1242 netlink_attachskb(struct sock *sk, struct sk_buff *skb, long *timeo, struct sock *ssk) netlink_attachskb() argument 1330 netlink_unicast_kernel(struct sock *sk, struct sk_buff *skb, struct sock *ssk) netlink_unicast_kernel() argument 1351 netlink_unicast(struct sock *ssk, struct sk_buff *skb, u32 portid, int nonblock) netlink_unicast() argument 1520 netlink_broadcast_filtered(struct sock *ssk, struct sk_buff *skb, u32 portid, u32 group, gfp_t allocation, int (*filter)(struct sock *dsk, struct sk_buff *skb, void *data), void *filter_data) netlink_broadcast_filtered() argument 1573 netlink_broadcast(struct sock *ssk, struct sk_buff *skb, u32 portid, u32 group, gfp_t allocation) netlink_broadcast() argument 1624 netlink_set_err(struct sock *ssk, u32 portid, u32 group, int code) netlink_set_err() argument 2317 __netlink_dump_start(struct sock *ssk, struct sk_buff *skb, const struct nlmsghdr *nlh, struct netlink_dump_control *control) __netlink_dump_start() argument [all...] |
/kernel/linux/linux-5.10/include/net/ |
H A D | mptcp.h | 78 void mptcp_space(const struct sock *ssk, int *space, int *full_space); 203 static inline void mptcp_space(const struct sock *ssk, int *s, int *fs) { } in mptcp_space() argument
|
/kernel/linux/linux-6.6/include/net/ |
H A D | mptcp.h | 138 void mptcp_space(const struct sock *ssk, int *space, int *full_space); 289 static inline void mptcp_space(const struct sock *ssk, int *s, int *fs) { } in mptcp_space() argument
|
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/ |
H A D | mptcp_sock.c | 82 const struct sock *ssk, int server_side) in BPF_PROG() 81 BPF_PROG(trace_mptcp_pm_new_connection, struct mptcp_sock *msk, const struct sock *ssk, int server_side) BPF_PROG() argument
|