| /linux/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 237 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_setsockopt_sol_socket_timestamping() local 272 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_setsockopt_sol_socket_linger() local 294 struct sock *ssk; mptcp_setsockopt_sol_socket() local 392 struct sock *ssk; mptcp_setsockopt_v6() local 607 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_setsockopt_sol_tcp_congestion() local 633 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); __mptcp_setsockopt_set_val() local 658 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); __mptcp_setsockopt_sol_tcp_cork() local 678 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); __mptcp_setsockopt_sol_tcp_nodelay() local 693 struct sock *ssk; mptcp_setsockopt_sol_ip_set() local 751 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_setsockopt_v4_set_tos() local 783 struct sock *ssk; mptcp_setsockopt_first_sf_only() local 809 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_setsockopt_all_sf() local 896 struct sock *ssk; mptcp_setsockopt() local 934 struct sock *ssk; mptcp_getsockopt_first_sf_only() local 1124 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_getsockopt_tcpinfo() local 1216 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_getsockopt_subflow_addrs() local 1324 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_getsockopt_full_info() local 1506 struct sock *ssk; mptcp_getsockopt() local 1533 sync_socket_options(struct mptcp_sock * msk,struct sock * ssk) sync_socket_options() argument 1589 mptcp_sockopt_sync_locked(struct mptcp_sock * msk,struct sock * ssk) mptcp_sockopt_sync_locked() argument 1643 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_set_rcvlowat() local [all...] |
| H A D | protocol.c | 358 static void mptcp_init_skb(struct sock *ssk, struct sk_buff *skb, int offset, in mptcp_init_skb() argument 361 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in mptcp_init_skb() 374 __skb_unlink(skb, &ssk->sk_receive_queue); in mptcp_init_skb() 436 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_shutdown_subflows() local 439 slow = lock_sock_fast(ssk); in mptcp_shutdown_subflows() 440 tcp_shutdown(ssk, SEND_SHUTDOWN); in mptcp_shutdown_subflows() 441 unlock_sock_fast(ssk, slow); in mptcp_shutdown_subflows() 517 const struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_timeout_from_subflow() local 519 return inet_csk(ssk)->icsk_pending && !subflow->stale_count ? in mptcp_timeout_from_subflow() 520 tcp_timeout_expires(ssk) - jiffies : 0; in mptcp_timeout_from_subflow() [all …]
|
| H A D | subflow.c | 30 static void mptcp_subflow_ops_undo_override(struct sock *ssk); 430 void mptcp_subflow_reset(struct sock *ssk) in mptcp_subflow_reset() argument 432 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in mptcp_subflow_reset() 438 if (ssk->sk_state == TCP_CLOSE) in mptcp_subflow_reset() 444 mptcp_send_active_reset_reason(ssk); in mptcp_subflow_reset() 445 tcp_done(ssk); in mptcp_subflow_reset() 461 struct sock *ssk = msk->first; in __mptcp_sync_state() local 463 subflow = mptcp_subflow_ctx(ssk); in __mptcp_sync_state() 464 __mptcp_propagate_sndbuf(sk, ssk); in __mptcp_sync_state() 466 mptcp_rcv_space_init(msk, ssk); in __mptcp_sync_state() [all …]
|
| H A D | pm_netlink.c | 298 static int mptcp_event_add_subflow(struct sk_buff *skb, const struct sock *ssk) in mptcp_event_add_subflow() 300 const struct inet_sock *issk = inet_sk(ssk); in mptcp_event_add_subflow() 303 if (nla_put_u16(skb, MPTCP_ATTR_FAMILY, ssk->sk_family)) in mptcp_event_add_subflow() 306 switch (ssk->sk_family) { in mptcp_event_add_subflow() 317 if (nla_put_in6_addr(skb, MPTCP_ATTR_DADDR6, &ssk->sk_v6_daddr)) in mptcp_event_add_subflow() 332 sf = mptcp_subflow_ctx(ssk); in mptcp_event_add_subflow() 347 const struct sock *ssk) in mptcp_event_put_token_and_ssk() 356 if (mptcp_event_add_subflow(skb, ssk)) in mptcp_event_put_token_and_ssk() 359 sf = mptcp_subflow_ctx(ssk); in mptcp_event_put_token_and_ssk() 366 if (ssk in mptcp_event_put_token_and_ssk() 297 mptcp_event_add_subflow(struct sk_buff * skb,const struct sock * ssk) mptcp_event_add_subflow() argument 346 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 379 mptcp_event_sub_established(struct sk_buff * skb,const struct mptcp_sock * msk,const struct sock * ssk) mptcp_event_sub_established() argument 386 mptcp_event_sub_closed(struct sk_buff * skb,const struct mptcp_sock * msk,const struct sock * ssk) mptcp_event_sub_closed() argument 408 mptcp_event_created(struct sk_buff * skb,const struct mptcp_sock * msk,const struct sock * ssk) mptcp_event_created() argument 464 mptcp_event_addr_announced(const struct sock * ssk,const struct mptcp_addr_info * info) mptcp_event_addr_announced() argument 521 mptcp_event_pm_listener(const struct sock * ssk,enum mptcp_event_type event) mptcp_event_pm_listener() argument 572 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 | protocol.h | 661 struct sock *ssk = skb->sk; in mptcp_borrow_fwdmem() local 668 if (!ssk) in mptcp_borrow_fwdmem() 671 atomic_sub(skb->truesize, &ssk->sk_rmem_alloc); in mptcp_borrow_fwdmem() 705 void mptcp_subflow_process_delegated(struct sock *ssk, long actions); 753 void __mptcp_inherit_memcg(struct sock *sk, struct sock *ssk, gfp_t gfp); 754 void __mptcp_inherit_cgrp_data(struct sock *sk, struct sock *ssk); 767 bool mptcp_active_should_disable(struct sock *ssk); 779 void mptcp_subflow_shutdown(struct sock *sk, struct sock *ssk, int how); 780 void mptcp_close_ssk(struct sock *sk, struct sock *ssk, 782 void __mptcp_subflow_send_ack(struct sock *ssk); [all …]
|
| H A D | pm.c | 189 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in __mptcp_pm_send_ack() local 196 slow = lock_sock_fast(ssk); in __mptcp_pm_send_ack() 202 __mptcp_subflow_send_ack(ssk); in __mptcp_pm_send_ack() 203 unlock_sock_fast(ssk, slow); in __mptcp_pm_send_ack() 252 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_pm_mp_prio_send_ack() local 255 mptcp_local_address((struct sock_common *)ssk, &local); in mptcp_pm_mp_prio_send_ack() 260 mptcp_remote_address((struct sock_common *)ssk, &remote); in mptcp_pm_mp_prio_send_ack() 280 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_adjust_add_addr_timeout() local 281 struct inet_connection_sock *icsk = inet_csk(ssk); in mptcp_adjust_add_addr_timeout() 479 void mptcp_pm_new_connection(struct mptcp_sock *msk, const struct sock *ssk, in argument 542 mptcp_pm_fully_established(struct mptcp_sock * msk,const struct sock * ssk) mptcp_pm_fully_established() argument 626 mptcp_pm_add_addr_received(const struct sock * ssk,const struct mptcp_addr_info * addr) mptcp_pm_add_addr_received() argument 717 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_pm_rm_addr_or_subflow() local 783 mptcp_pm_mp_prio_received(struct sock * ssk,u8 bkup) mptcp_pm_mp_prio_received() argument 938 mptcp_pm_subflows_chk_stale(const struct mptcp_sock * msk,struct sock * ssk) mptcp_pm_subflows_chk_stale() argument 975 mptcp_pm_subflow_chk_stale(const struct mptcp_sock * msk,struct sock * ssk) mptcp_pm_subflow_chk_stale() argument [all...] |
| H A D | sched.c | 21 struct sock *ssk; in mptcp_sched_default_get_send() 23 ssk = mptcp_subflow_get_send(msk); in mptcp_sched_default_get_send() 24 if (!ssk) in mptcp_sched_default_get_send() 27 mptcp_subflow_set_scheduled(mptcp_subflow_ctx(ssk), true); in mptcp_sched_default_get_send() 33 struct sock *ssk; in mptcp_sched_default_get_retrans() 35 ssk = mptcp_subflow_get_retrans(msk); in mptcp_sched_default_get_retrans() local 36 if (!ssk) in mptcp_sched_default_get_retrans() 39 mptcp_subflow_set_scheduled(mptcp_subflow_ctx(ssk), true); in mptcp_sched_default_get_retrans() 22 struct sock *ssk; mptcp_sched_default_get_send() local
|
| 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 | options.c | 942 static bool check_fully_established(struct mptcp_sock *msk, struct sock *ssk, in check_fully_established() argument 959 tcp_send_ack(ssk); in check_fully_established() 994 if (!mptcp_try_fallback(ssk, MPTCP_MIB_MPCAPABLEDATAFALLBACK)) { in check_fully_established() 995 MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_FALLBACKFAILED); in check_fully_established() 1023 clear_3rdack_retransmission(ssk); in check_fully_established() 1026 mptcp_pm_fully_established(msk, ssk); in check_fully_established() 1031 mptcp_subflow_reset(ssk); in check_fully_established() 1057 static void rwin_update(struct mptcp_sock *msk, struct sock *ssk, in rwin_update() argument 1060 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in rwin_update() 1061 struct tcp_sock *tp = tcp_sk(ssk); in rwin_update() [all …]
|
| H A D | pm_kernel.c | 105 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in lookup_subflow_by_daddr() local 107 if (!((1 << inet_sk_state_load(ssk)) & in lookup_subflow_by_daddr() 111 mptcp_remote_address((struct sock_common *)ssk, &cur); in lookup_subflow_by_daddr() 209 struct sock *sk = (struct sock *)msk, *ssk; in fill_remote_addresses_fullmesh() local 222 ssk = mptcp_subflow_tcp_sock(subflow); in fill_remote_addresses_fullmesh() 223 mptcp_remote_address((struct sock_common *)ssk, &addrs[i]); in fill_remote_addresses_fullmesh() 504 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in fill_local_laminar_endp() local 506 if ((1 << inet_sk_state_load(ssk)) & in fill_local_laminar_endp() 835 struct sock *newsk, *ssk; in mptcp_pm_nl_create_listen_socket() local 861 ssk = __mptcp_nmpc_sk(mptcp_sk(newsk)); in mptcp_pm_nl_create_listen_socket() [all …]
|
| H A D | token.c | 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() 173 ssk, subflow->local_key, subflow->token, subflow->idsn); in mptcp_token_new_connect()
|
| /linux/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 = READ_ONCE(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);
|
| /linux/include/net/ |
| H A D | mptcp.h | 147 void mptcp_space(const struct sock *ssk, int *space, int *full_space); in rsk_is_mptcp() 300 static inline void mptcp_space(const struct sock *ssk, int *s, int *fs) { } in mptcp_skb_ext_copy() 309 mptcp_space(const struct sock * ssk,int * s,int * fs) mptcp_space() argument
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | mptcp_sock.c | 82 const struct sock *ssk, int server_side) in BPF_PROG() argument
|
| /linux/include/linux/ |
| H A D | security.h | 1694 int security_mptcp_add_subflow(struct sock *sk, struct sock *ssk); 1928 static inline int security_mptcp_add_subflow(struct sock *sk, struct sock *ssk) in security_mptcp_add_subflow() argument
|
| H A D | lsm_hook_defs.h | 378 LSM_HOOK(int, 0, mptcp_add_subflow, struct sock *sk, struct sock *ssk)
|
| /linux/security/ |
| H A D | security.c | 4727 int security_mptcp_add_subflow(struct sock *sk, struct sock *ssk) in security_mptcp_add_subflow() argument 4729 return call_int_hook(mptcp_add_subflow, sk, ssk); in security_mptcp_add_subflow()
|
| /linux/security/selinux/ |
| H A D | hooks.c | 5690 static int selinux_mptcp_add_subflow(struct sock *sk, struct sock *ssk) in selinux_mptcp_add_subflow() argument 5692 struct sk_security_struct *ssksec = selinux_sock(ssk); in selinux_mptcp_add_subflow() 5702 return selinux_netlbl_socket_post_create(ssk, ssk->sk_family); in selinux_mptcp_add_subflow()
|
| /linux/net/core/ |
| H A D | rtnetlink.c | 6845 static int rtnetlink_dump_start(struct sock *ssk, struct sk_buff *skb, in rtnetlink_dump_start() argument 6856 return netlink_dump_start(ssk, skb, nlh, control); in rtnetlink_dump_start()
|