/Linux-v5.15/net/mptcp/ |
D | sockopt.c | 76 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_sol_socket_sync_intval() local 77 bool slow = lock_sock_fast(ssk); in mptcp_sol_socket_sync_intval() 81 sock_valbool_flag(ssk, SOCK_DBG, !!val); in mptcp_sol_socket_sync_intval() 84 if (ssk->sk_prot->keepalive) in mptcp_sol_socket_sync_intval() 85 ssk->sk_prot->keepalive(ssk, !!val); in mptcp_sol_socket_sync_intval() 86 sock_valbool_flag(ssk, SOCK_KEEPOPEN, !!val); in mptcp_sol_socket_sync_intval() 89 ssk->sk_priority = val; in mptcp_sol_socket_sync_intval() 93 ssk->sk_userlocks |= SOCK_SNDBUF_LOCK; in mptcp_sol_socket_sync_intval() 94 WRITE_ONCE(ssk->sk_sndbuf, sk->sk_sndbuf); in mptcp_sol_socket_sync_intval() 98 ssk->sk_userlocks |= SOCK_RCVBUF_LOCK; in mptcp_sol_socket_sync_intval() [all …]
|
D | protocol.c | 273 static bool __mptcp_move_skb(struct mptcp_sock *msk, struct sock *ssk, in __mptcp_move_skb() argument 277 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in __mptcp_move_skb() 282 __skb_unlink(skb, &ssk->sk_receive_queue); in __mptcp_move_skb() 291 if (ssk->sk_forward_alloc < amount) in __mptcp_move_skb() 294 ssk->sk_forward_alloc -= amount; in __mptcp_move_skb() 421 const struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_timeout_from_subflow() local 423 return inet_csk(ssk)->icsk_pending && !subflow->stale_count ? in mptcp_timeout_from_subflow() 424 inet_csk(ssk)->icsk_timeout - jiffies : 0; in mptcp_timeout_from_subflow() 437 static bool tcp_can_send_ack(const struct sock *ssk) in tcp_can_send_ack() argument 439 return !((1 << inet_sk_state_load(ssk)) & in tcp_can_send_ack() [all …]
|
D | subflow.c | 30 static void mptcp_subflow_ops_undo_override(struct sock *ssk); 354 void mptcp_subflow_reset(struct sock *ssk) in mptcp_subflow_reset() argument 356 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in mptcp_subflow_reset() 362 tcp_set_state(ssk, TCP_CLOSE); in mptcp_subflow_reset() 363 tcp_send_active_reset(ssk, GFP_ATOMIC); in mptcp_subflow_reset() 364 tcp_done(ssk); in mptcp_subflow_reset() 603 static void subflow_drop_ctx(struct sock *ssk) in subflow_drop_ctx() argument 605 struct mptcp_subflow_context *ctx = mptcp_subflow_ctx(ssk); in subflow_drop_ctx() 610 subflow_ulp_fallback(ssk, ctx); in subflow_drop_ctx() 810 static bool skb_is_fully_mapped(struct sock *ssk, struct sk_buff *skb) in skb_is_fully_mapped() argument [all …]
|
D | protocol.h | 507 void mptcp_subflow_process_delegated(struct sock *ssk); 573 void mptcp_subflow_shutdown(struct sock *sk, struct sock *ssk, int how); 574 void mptcp_close_ssk(struct sock *sk, struct sock *ssk, 576 void mptcp_subflow_send_ack(struct sock *ssk); 577 void mptcp_subflow_reset(struct sock *ssk); 591 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in __mptcp_subflow_active() local 598 return ((1 << ssk->sk_state) & (TCPF_ESTABLISHED | TCPF_CLOSE_WAIT)); in __mptcp_subflow_active() 616 static inline bool mptcp_has_another_subflow(struct sock *ssk) in mptcp_has_another_subflow() argument 618 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk), *tmp; in mptcp_has_another_subflow() 648 void mptcp_rcv_space_init(struct mptcp_sock *msk, const struct sock *ssk); [all …]
|
D | pm_netlink.c | 432 struct sock *sk = (struct sock *)msk, *ssk; in fill_remote_addresses_vec() local 449 ssk = mptcp_subflow_tcp_sock(subflow); in fill_remote_addresses_vec() 450 remote_address((struct sock_common *)ssk, &remote); in fill_remote_addresses_vec() 646 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_pm_nl_addr_send_ack() local 652 mptcp_subflow_send_ack(ssk); in mptcp_pm_nl_addr_send_ack() 666 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_pm_nl_mp_prio_send_ack() local 670 local_address((struct sock_common *)ssk, &local); in mptcp_pm_nl_mp_prio_send_ack() 681 mptcp_subflow_send_ack(ssk); in mptcp_pm_nl_mp_prio_send_ack() 711 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_pm_nl_rm_addr_or_subflow() local 725 mptcp_subflow_shutdown(sk, ssk, how); in mptcp_pm_nl_rm_addr_or_subflow() [all …]
|
D | pm.c | 74 void mptcp_pm_new_connection(struct mptcp_sock *msk, const struct sock *ssk, int server_side) in mptcp_pm_new_connection() argument 81 mptcp_event(MPTCP_EVENT_CREATED, msk, ssk, GFP_ATOMIC); in mptcp_pm_new_connection() 126 void mptcp_pm_fully_established(struct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp) in mptcp_pm_fully_established() argument 150 mptcp_event(MPTCP_EVENT_ESTABLISHED, msk, ssk, gfp); in mptcp_pm_fully_established() 340 void mptcp_pm_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk) in mptcp_pm_subflow_chk_stale() argument 342 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in mptcp_pm_subflow_chk_stale() 343 u32 rcv_tstamp = READ_ONCE(tcp_sk(ssk)->rcv_tstamp); in mptcp_pm_subflow_chk_stale() 352 mptcp_pm_nl_subflow_chk_stale(msk, ssk); in mptcp_pm_subflow_chk_stale()
|
D | options.c | 904 static bool check_fully_established(struct mptcp_sock *msk, struct sock *ssk, in check_fully_established() argument 921 tcp_send_ack(ssk); in check_fully_established() 977 clear_3rdack_retransmission(ssk); in check_fully_established() 980 mptcp_pm_fully_established(msk, ssk, GFP_ATOMIC); in check_fully_established() 985 mptcp_subflow_reset(ssk); in check_fully_established() 1006 struct sock *ssk, in ack_update_msk() argument 1028 new_wnd_end = new_snd_una + tcp_sk(ssk)->snd_wnd; in ack_update_msk() 1035 __mptcp_check_push(sk, ssk); in ack_update_msk() 1216 const struct sock *ssk = (const struct sock *)tp; in mptcp_set_rwin() local 1221 subflow = mptcp_subflow_ctx(ssk); in mptcp_set_rwin() [all …]
|
/Linux-v5.15/include/trace/events/ |
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);
|
/Linux-v5.15/include/linux/ |
D | netlink.h | 156 int netlink_unicast(struct sock *ssk, struct sk_buff *skb, __u32 portid, int nonblock); 157 int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, __u32 portid, 159 int netlink_broadcast_filtered(struct sock *ssk, struct sk_buff *skb, 163 int netlink_set_err(struct sock *ssk, __u32 portid, __u32 group, int code); 170 long *timeo, struct sock *ssk); 248 int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb, 251 static inline int netlink_dump_start(struct sock *ssk, struct sk_buff *skb, in netlink_dump_start() argument 258 return __netlink_dump_start(ssk, skb, nlh, control); in netlink_dump_start()
|
/Linux-v5.15/net/netlink/ |
D | af_netlink.c | 1149 static struct sock *netlink_getsockbyportid(struct sock *ssk, u32 portid) in netlink_getsockbyportid() argument 1154 sock = netlink_lookup(sock_net(ssk), ssk->sk_protocol, portid); in netlink_getsockbyportid() 1161 nlk->dst_portid != nlk_sk(ssk)->portid) { in netlink_getsockbyportid() 1220 long *timeo, struct sock *ssk) in netlink_attachskb() argument 1230 if (!ssk || netlink_is_kernel(ssk)) in netlink_attachskb() 1308 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-v5.15/include/net/ |
D | mptcp.h | 115 void mptcp_space(const struct sock *ssk, int *space, int *full_space); 267 static inline void mptcp_space(const struct sock *ssk, int *s, int *fs) { } in mptcp_space() argument
|