| /linux/net/mptcp/ |
| H A D | sockopt.c | 70 static void __mptcp_subflow_set_rcvbuf(struct sock *ssk, int val) in __mptcp_subflow_set_rcvbuf() argument 72 WRITE_ONCE(ssk->sk_rcvbuf, val); in __mptcp_subflow_set_rcvbuf() 73 tcp_set_rcvbuf(ssk, val); in __mptcp_subflow_set_rcvbuf() 85 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_sol_socket_sync_intval() local 86 bool slow = lock_sock_fast(ssk); in mptcp_sol_socket_sync_intval() 90 sock_valbool_flag(ssk, SOCK_DBG, !!val); in mptcp_sol_socket_sync_intval() 93 if (ssk->sk_prot->keepalive) in mptcp_sol_socket_sync_intval() 94 ssk->sk_prot->keepalive(ssk, !!val); in mptcp_sol_socket_sync_intval() 95 sock_valbool_flag(ssk, SOCK_KEEPOPEN, !!val); in mptcp_sol_socket_sync_intval() 98 WRITE_ONCE(ssk->sk_priority, val); in mptcp_sol_socket_sync_intval() [all …]
|
| H A D | protocol.c | 425 static void mptcp_init_skb(struct sock *ssk, struct sk_buff *skb, int offset, in mptcp_init_skb() argument 428 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in mptcp_init_skb() 441 __skb_unlink(skb, &ssk->sk_receive_queue); in mptcp_init_skb() 518 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_shutdown_subflows() local 521 slow = lock_sock_fast(ssk); in mptcp_shutdown_subflows() 522 tcp_shutdown(ssk, SEND_SHUTDOWN); in mptcp_shutdown_subflows() 523 unlock_sock_fast(ssk, slow); in mptcp_shutdown_subflows() 605 const struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_timeout_from_subflow() local 607 return inet_csk(ssk)->icsk_pending && !subflow->stale_count ? in mptcp_timeout_from_subflow() 608 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); 427 void mptcp_subflow_reset(struct sock *ssk) in mptcp_subflow_reset() argument 429 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in mptcp_subflow_reset() 435 if (ssk->sk_state == TCP_CLOSE) in mptcp_subflow_reset() 441 mptcp_send_active_reset_reason(ssk); in mptcp_subflow_reset() 442 tcp_done(ssk); in mptcp_subflow_reset() 458 struct sock *ssk = msk->first; in __mptcp_sync_state() local 460 subflow = mptcp_subflow_ctx(ssk); in __mptcp_sync_state() 461 __mptcp_propagate_sndbuf(sk, ssk); in __mptcp_sync_state() 498 static void mptcp_propagate_state(struct sock *sk, struct sock *ssk, in mptcp_propagate_state() argument [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() argument 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() argument 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->sk_bound_dev_if && in mptcp_event_put_token_and_ssk() [all …]
|
| H A D | protocol.h | 702 struct sock *ssk = skb->sk; in mptcp_borrow_fwdmem() local 709 if (!ssk) in mptcp_borrow_fwdmem() 712 atomic_sub(skb->truesize, &ssk->sk_rmem_alloc); in mptcp_borrow_fwdmem() 746 void mptcp_subflow_process_delegated(struct sock *ssk, long actions); 794 void __mptcp_inherit_memcg(struct sock *sk, struct sock *ssk, gfp_t gfp); 795 void __mptcp_inherit_cgrp_data(struct sock *sk, struct sock *ssk); 809 bool mptcp_active_should_disable(struct sock *ssk); 821 void mptcp_subflow_shutdown(struct sock *sk, struct sock *ssk, int how); 822 void mptcp_close_ssk(struct sock *sk, struct sock *ssk, 824 void __mptcp_subflow_send_ack(struct sock *ssk); [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 23 ssk = subflow->tcp_sock; in mptcp_fastopen_subflow_synack_set_params() 25 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() 35 __skb_unlink(skb, &ssk->sk_receive_queue); in mptcp_fastopen_subflow_synack_set_params()
|
| H A D | pm.c | 199 bool mptcp_pm_announced_has_ssk(struct mptcp_sock *msk, const struct sock *ssk) in mptcp_pm_announced_has_ssk() argument 205 mptcp_local_address((struct sock_common *)ssk, &saddr); in mptcp_pm_announced_has_ssk() 224 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in __mptcp_pm_send_ack() local 231 slow = lock_sock_fast(ssk); in __mptcp_pm_send_ack() 237 __mptcp_subflow_send_ack(ssk); in __mptcp_pm_send_ack() 238 unlock_sock_fast(ssk, slow); in __mptcp_pm_send_ack() 319 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_pm_mp_prio_send_ack() local 325 mptcp_local_address((struct sock_common *)ssk, &local); in mptcp_pm_mp_prio_send_ack() 330 mptcp_remote_address((struct sock_common *)ssk, &remote); in mptcp_pm_mp_prio_send_ack() 353 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_adjust_add_addr_timeout() local [all …]
|
| H A D | options.c | 975 static bool check_fully_established(struct mptcp_sock *msk, struct sock *ssk, in check_fully_established() argument 992 tcp_send_ack(ssk); in check_fully_established() 1027 if (!mptcp_try_fallback(ssk, MPTCP_MIB_MPCAPABLEDATAFALLBACK)) { in check_fully_established() 1028 MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_FALLBACKFAILED); in check_fully_established() 1056 clear_3rdack_retransmission(ssk); in check_fully_established() 1059 mptcp_pm_fully_established(msk, ssk); in check_fully_established() 1064 mptcp_subflow_reset(ssk); in check_fully_established() 1090 static void rwin_update(struct mptcp_sock *msk, struct sock *ssk, in rwin_update() argument 1093 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in rwin_update() 1094 struct tcp_sock *tp = tcp_sk(ssk); in rwin_update() [all …]
|
| H A D | pm_userspace.c | 451 struct sock *ssk; in mptcp_nl_find_ssk() local 453 ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_nl_find_ssk() 455 if (local->family != ssk->sk_family) in mptcp_nl_find_ssk() 458 issk = inet_sk(ssk); in mptcp_nl_find_ssk() 460 switch (ssk->sk_family) { in mptcp_nl_find_ssk() 469 !ipv6_addr_equal(&remote->addr6, &ssk->sk_v6_daddr)) in mptcp_nl_find_ssk() 480 return ssk; in mptcp_nl_find_ssk() 492 struct sock *sk, *ssk; in mptcp_pm_nl_subflow_destroy_doit() local 544 ssk = mptcp_nl_find_ssk(msk, &addr_l.addr, &addr_r); in mptcp_pm_nl_subflow_destroy_doit() 545 if (!ssk) { in mptcp_pm_nl_subflow_destroy_doit() [all …]
|
| /linux/include/trace/events/ |
| H A D | mptcp.h | 40 struct sock *ssk; 50 ssk = mptcp_subflow_tcp_sock(subflow); 51 if (ssk && sk_fullsock(ssk)) { 52 __entry->snd_wnd = tcp_sk(ssk)->snd_wnd; 53 __entry->pace = READ_ONCE(ssk->sk_pacing_rate); 59 if (ssk && sk_fullsock(ssk) && __entry->pace) 60 __entry->ratio = div_u64((u64)ssk->sk_wmem_queued << 32, __entry->pace);
|
| /linux/net/netlink/ |
| H A D | af_netlink.c | 1137 static struct sock *netlink_getsockbyportid(struct sock *ssk, u32 portid) in netlink_getsockbyportid() argument 1142 sock = netlink_lookup(sock_net(ssk), ssk->sk_protocol, portid); in netlink_getsockbyportid() 1150 READ_ONCE(nlk->dst_portid) != nlk_sk(ssk)->portid) { in netlink_getsockbyportid() 1211 long *timeo, struct sock *ssk) in netlink_attachskb() argument 1229 if (!ssk || netlink_is_kernel(ssk)) in netlink_attachskb() 1307 struct sock *ssk) in netlink_unicast_kernel() argument 1317 NETLINK_CB(skb).sk = ssk; in netlink_unicast_kernel() 1318 netlink_deliver_tap_kernel(sk, ssk, skb); in netlink_unicast_kernel() 1328 int netlink_unicast(struct sock *ssk, struct sk_buff *skb, in netlink_unicast() argument 1337 timeo = sock_sndtimeo(ssk, nonblock); in netlink_unicast() [all …]
|
| /linux/include/net/ |
| H A D | mptcp.h | 147 void mptcp_space(const struct sock *ssk, int *space, int *full_space); 291 static inline void mptcp_space(const struct sock *ssk, int *s, int *fs) { } in 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/security/ |
| H A D | security.c | 4820 * @ssk: the new subflow 4829 int security_mptcp_add_subflow(struct sock *sk, struct sock *ssk) 4831 return call_int_hook(mptcp_add_subflow, sk, ssk); in security_mptcp_add_subflow() 4830 security_mptcp_add_subflow(struct sock * sk,struct sock * ssk) security_mptcp_add_subflow() argument
|
| /linux/security/selinux/ |
| H A D | hooks.c | 5825 static int selinux_mptcp_add_subflow(struct sock *sk, struct sock *ssk) in selinux_mptcp_add_subflow() argument 5827 struct sk_security_struct *ssksec = selinux_sock(ssk); in selinux_mptcp_add_subflow() 5837 return selinux_netlbl_socket_post_create(ssk, ssk->sk_family); in selinux_mptcp_add_subflow()
|
| /linux/net/core/ |
| H A D | rtnetlink.c | 7019 static int rtnetlink_dump_start(struct sock *ssk, struct sk_buff *skb, in rtnetlink_dump_start() argument 7030 return netlink_dump_start(ssk, skb, nlh, control); in rtnetlink_dump_start()
|