/linux-master/include/linux/ |
H A D | lsm_hook_defs.h | 368 LSM_HOOK(int, 0, mptcp_add_subflow, struct sock *sk, struct sock *ssk)
|
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, 234 int netlink_broadcast_filtered(struct sock *ssk, struct sk_buff *skb, 238 int netlink_set_err(struct sock *ssk, __u32 portid, __u32 group, int code); 245 long *timeo, struct sock *ssk); 330 int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb, 333 static inline int netlink_dump_start(struct sock *ssk, struct sk_buff *skb, argument 340 return __netlink_dump_start(ssk, skb, nlh, control);
|
H A D | security.h | 1564 int security_mptcp_add_subflow(struct sock *sk, struct sock *ssk); 1793 static inline int security_mptcp_add_subflow(struct sock *sk, struct sock *ssk) argument
|
/linux-master/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) { } argument
|
/linux-master/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-master/net/mptcp/ |
H A D | fastopen.c | 12 struct sock *sk, *ssk; local 22 ssk = subflow->tcp_sock; 24 tp = tcp_sk(ssk); 28 skb = skb_peek(&ssk->sk_receive_queue); 33 __skb_unlink(skb, &ssk->sk_receive_queue);
|
H A D | options.c | 925 static bool check_fully_established(struct mptcp_sock *msk, struct sock *ssk, argument 942 tcp_send_ack(ssk); 977 mptcp_do_fallback(ssk); 1003 clear_3rdack_retransmission(ssk); 1006 mptcp_pm_fully_established(msk, ssk); 1011 mptcp_subflow_reset(ssk); 1038 struct sock *ssk, 1058 new_wnd_end = new_snd_una + tcp_sk(ssk)->snd_wnd; 1065 __mptcp_check_push(sk, ssk); 1252 const struct sock *ssk local 1037 ack_update_msk(struct mptcp_sock *msk, struct sock *ssk, struct mptcp_options_received *mp_opt) argument 1347 const struct sock *ssk = (const struct sock *)tp; local [all...] |
H A D | pm.c | 75 void mptcp_pm_new_connection(struct mptcp_sock *msk, const struct sock *ssk, int server_side) argument 82 mptcp_event(MPTCP_EVENT_CREATED, msk, ssk, GFP_ATOMIC); 137 void mptcp_pm_fully_established(struct mptcp_sock *msk, const struct sock *ssk) argument 161 mptcp_event(MPTCP_EVENT_ESTABLISHED, msk, ssk, GFP_ATOMIC); 218 void mptcp_pm_add_addr_received(const struct sock *ssk, argument 221 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); 228 mptcp_event_addr_announced(ssk, addr); 293 void mptcp_pm_mp_prio_received(struct sock *ssk, u8 bkup) argument 295 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); 304 mptcp_event(MPTCP_EVENT_SUB_PRIORITY, msk, ssk, GFP_ATOMI 466 mptcp_pm_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk) argument [all...] |
H A D | pm_netlink.c | 402 struct sock *sk = (struct sock *)msk, *ssk; local 435 ssk = mptcp_subflow_tcp_sock(subflow); 436 remote_address((struct sock_common *)ssk, &addrs[i]); 464 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 470 slow = lock_sock_fast(ssk); 477 __mptcp_subflow_send_ack(ssk); 478 unlock_sock_fast(ssk, slow); 743 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 746 mptcp_local_address((struct sock_common *)ssk, &local); 751 remote_address((struct sock_common *)ssk, 795 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 1001 struct sock *newsk, *ssk; local 1107 mptcp_pm_nl_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk) argument 1959 mptcp_event_add_subflow(struct sk_buff *skb, const struct sock *ssk) argument 2008 mptcp_event_put_token_and_ssk(struct sk_buff *skb, const struct mptcp_sock *msk, const struct sock *ssk) argument 2041 mptcp_event_sub_established(struct sk_buff *skb, const struct mptcp_sock *msk, const struct sock *ssk) argument 2048 mptcp_event_sub_closed(struct sk_buff *skb, const struct mptcp_sock *msk, const struct sock *ssk) argument 2070 mptcp_event_created(struct sk_buff *skb, const struct mptcp_sock *msk, const struct sock *ssk) argument 2116 mptcp_event_addr_announced(const struct sock *ssk, const struct mptcp_addr_info *info) argument 2173 mptcp_event_pm_listener(const struct sock *ssk, enum mptcp_event_type event) argument 2225 mptcp_event(enum mptcp_event_type type, const struct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp) argument [all...] |
H A D | pm_userspace.c | 423 struct sock *ssk; local 425 ssk = mptcp_subflow_tcp_sock(subflow); 427 if (local->family != ssk->sk_family) 430 issk = inet_sk(ssk); 432 switch (ssk->sk_family) { 440 const struct ipv6_pinfo *pinfo = inet6_sk(ssk); 443 !ipv6_addr_equal(&remote->addr6, &ssk->sk_v6_daddr)) 454 return ssk; 468 struct sock *sk, *ssk; local 527 ssk [all...] |
H A D | protocol.c | 319 static bool mptcp_rmem_schedule(struct sock *sk, struct sock *ssk, int size) argument 337 static bool __mptcp_move_skb(struct mptcp_sock *msk, struct sock *ssk, argument 341 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); 346 __skb_unlink(skb, &ssk->sk_receive_queue); 352 if (!mptcp_rmem_schedule(sk, ssk, skb->truesize)) 483 const struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 485 return inet_csk(ssk)->icsk_pending && !subflow->stale_count ? 486 inet_csk(ssk)->icsk_timeout - jiffies : 0; 499 static inline bool tcp_can_send_ack(const struct sock *ssk) argument 501 return !((1 << inet_sk_state_load(ssk)) 505 __mptcp_subflow_send_ack(struct sock *ssk) argument 511 mptcp_subflow_send_ack(struct sock *ssk) argument 528 mptcp_subflow_cleanup_rbuf(struct sock *ssk) argument 538 mptcp_subflow_could_cleanup(const struct sock *ssk, bool rx_empty) argument 563 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 620 __mptcp_move_skbs_from_subflow(struct mptcp_sock *msk, struct sock *ssk, unsigned int *bytes) argument 758 __mptcp_subflow_error_report(struct sock *sk, struct sock *ssk) argument 801 move_skbs_to_msk(struct mptcp_sock *msk, struct sock *ssk) argument 825 mptcp_data_ready(struct sock *sk, struct sock *ssk) argument 856 mptcp_subflow_joined(struct mptcp_sock *msk, struct sock *ssk) argument 863 __mptcp_finish_join(struct mptcp_sock *msk, struct sock *ssk) argument 890 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 1071 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 1122 mptcp_check_allowed_size(const struct mptcp_sock *msk, struct sock *ssk, u64 data_seq, int avail_size) argument 1171 __mptcp_alloc_tx_skb(struct sock *sk, struct sock *ssk, gfp_t gfp) argument 1188 mptcp_alloc_tx_skb(struct sock *sk, struct sock *ssk, bool data_lock_held) argument 1207 mptcp_update_infinite_map(struct mptcp_sock *msk, struct sock *ssk, struct mptcp_ext *mpext) argument 1225 mptcp_sendmsg_frag(struct sock *sk, struct sock *ssk, struct mptcp_data_frag *dfrag, struct mptcp_sendmsg_info *info) argument 1370 struct sock *ssk; member in struct:subflow_send_info 1411 struct sock *ssk; local 1478 mptcp_push_release(struct sock *ssk, struct mptcp_sendmsg_info *info) argument 1520 __subflow_push_pending(struct sock *sk, struct sock *ssk, struct mptcp_sendmsg_info *info) argument 1564 struct sock *prev_ssk = NULL, *ssk = NULL; local 1627 __mptcp_subflow_push_pending(struct sock *sk, struct sock *ssk, bool first) argument 1701 struct sock *ssk; local 2053 struct sock *ssk; local 2098 struct sock *ssk = mptcp_subflow_recv_lookup(msk); local 2310 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 2384 __mptcp_subflow_disconnect(struct sock *ssk, struct mptcp_subflow_context *subflow, unsigned int flags) argument 2408 __mptcp_close_ssk(struct sock *sk, struct sock *ssk, struct mptcp_subflow_context *subflow, unsigned int flags) argument 2501 mptcp_close_ssk(struct sock *sk, struct sock *ssk, struct mptcp_subflow_context *subflow) argument 2528 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 2607 struct sock *ssk; local 2704 struct sock *ssk = msk->first; local 2866 mptcp_subflow_shutdown(struct sock *sk, struct sock *ssk, int how) argument 3023 struct sock *ssk; local 3071 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 3126 mptcp_copy_inaddrs(struct sock *msk, const struct sock *ssk) argument 3248 mptcp_sk_clone_init(const struct sock *sk, const struct mptcp_options_received *mp_opt, struct sock *ssk, struct request_sock *req) argument 3328 mptcp_rcv_space_init(struct mptcp_sock *msk, const struct sock *ssk) argument 3391 __mptcp_check_push(struct sock *sk, struct sock *ssk) argument 3465 schedule_3rdack_retransmission(struct sock *ssk) argument 3487 mptcp_subflow_process_delegated(struct sock *ssk, long status) argument 3537 mptcp_finish_connect(struct sock *ssk) argument 3569 mptcp_finish_join(struct sock *ssk) argument 3707 struct sock *ssk; local 3811 struct sock *ssk, *sk = sock->sk; local 3839 struct sock *ssk; local 3879 struct sock *ssk, *newsk; local 3927 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 3991 struct sock *ssk = READ_ONCE(msk->first); local 4063 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local [all...] |
H A D | protocol.h | 595 void mptcp_subflow_process_delegated(struct sock *ssk, long actions); 653 void mptcp_subflow_shutdown(struct sock *sk, struct sock *ssk, int how); 654 void mptcp_close_ssk(struct sock *sk, struct sock *ssk, 656 void __mptcp_subflow_send_ack(struct sock *ssk); 657 void mptcp_subflow_reset(struct sock *ssk); 658 void mptcp_subflow_queue_clean(struct sock *sk, struct sock *ssk); 711 static inline bool __tcp_can_send(const struct sock *ssk) argument 714 return ((1 << inet_sk_state_load(ssk)) & (TCPF_ESTABLISHED | TCPF_CLOSE_WAIT)); 730 void mptcp_subflow_drop_ctx(struct sock *ssk); 750 struct sock *ssk, 869 __mptcp_propagate_sndbuf(struct sock *sk, struct sock *ssk) argument 882 mptcp_propagate_sndbuf(struct sock *sk, struct sock *ssk) argument 1139 struct sock *ssk = READ_ONCE(msk->first); local 1146 mptcp_do_fallback(struct sock *ssk) argument [all...] |
H A D | sched.c | 22 struct sock *ssk; local 24 ssk = data->reinject ? mptcp_subflow_get_retrans(msk) : 26 if (!ssk) 29 mptcp_subflow_set_scheduled(mptcp_subflow_ctx(ssk), true);
|
H A D | sockopt.c | 41 * new ssk completes join, inherits options from s0 // seq 2 42 * Needs sync from mptcp join logic, but ssk->seq == msk->seq 44 * Set High order bits to sk_state so ssk->seq == msk->seq test 79 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 80 bool slow = lock_sock_fast(ssk); 84 sock_valbool_flag(ssk, SOCK_DBG, !!val); 87 if (ssk->sk_prot->keepalive) 88 ssk->sk_prot->keepalive(ssk, !!val); 89 sock_valbool_flag(ssk, SOCK_KEEPOPE 161 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 239 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 274 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 296 struct sock *ssk; local 394 struct sock *ssk; local 609 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 635 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 655 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 670 struct sock *ssk; local 728 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 760 struct sock *ssk; local 835 struct sock *ssk; local 873 struct sock *ssk; local 1052 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 1144 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 1252 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local 1389 struct sock *ssk; local 1414 sync_socket_options(struct mptcp_sock *msk, struct sock *ssk) argument 1467 mptcp_sockopt_sync_locked(struct mptcp_sock *msk, struct sock *ssk) argument 1521 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); local [all...] |
H A D | subflow.c | 29 static void mptcp_subflow_ops_undo_override(struct sock *ssk); 394 void mptcp_subflow_reset(struct sock *ssk) argument 396 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); 402 if (ssk->sk_state == TCP_CLOSE) 408 tcp_send_active_reset(ssk, GFP_ATOMIC); 409 tcp_done(ssk); 425 struct sock *ssk = msk->first; local 427 subflow = mptcp_subflow_ctx(ssk); 428 __mptcp_propagate_sndbuf(sk, ssk); 430 mptcp_rcv_space_init(msk, ssk); 464 mptcp_propagate_state(struct sock *sk, struct sock *ssk, struct mptcp_subflow_context *subflow, const struct mptcp_options_received *mp_opt) argument 737 mptcp_subflow_drop_ctx(struct sock *ssk) argument 932 skb_is_fully_mapped(struct sock *ssk, struct sk_buff *skb) argument 945 validate_mapping(struct sock *ssk, struct sk_buff *skb) argument 966 validate_data_csum(struct sock *ssk, struct sk_buff *skb, bool csum_reqd) argument 1045 get_mapping_status(struct sock *ssk, struct mptcp_sock *msk) argument 1190 mptcp_subflow_discard_data(struct sock *ssk, struct sk_buff *skb, u64 limit) argument 1210 subflow_sched_work_if_closed(struct mptcp_sock *msk, struct sock *ssk) argument 1232 mptcp_subflow_fail(struct mptcp_sock *msk, struct sock *ssk) argument 1259 subflow_check_data_avail(struct sock *ssk) argument 1383 mptcp_space(const struct sock *ssk, int *space, int *full_space) argument 1392 subflow_error_report(struct sock *ssk) argument 1449 subflow_write_space(struct sock *ssk) argument 1528 struct sock *ssk; local 1631 mptcp_subflow_ops_override(struct sock *ssk) argument 1641 mptcp_subflow_ops_undo_override(struct sock *ssk) argument 1797 struct sock *sk, *ssk; local 1903 subflow_ulp_release(struct sock *ssk) argument 1990 tcp_release_cb_override(struct sock *ssk) argument 2006 tcp_abort_override(struct sock *ssk, int err) argument [all...] |
H A D | token.c | 137 * @ssk: the socket that will initiate a connection 151 int mptcp_token_new_connect(struct sock *ssk) argument 153 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); 172 pr_debug("ssk=%p, local_key=%llu, token=%u, idsn=%llu\n", 173 ssk, subflow->local_key, subflow->token, subflow->idsn);
|
/linux-master/net/netlink/ |
H A D | af_netlink.c | 1167 static struct sock *netlink_getsockbyportid(struct sock *ssk, u32 portid) argument 1172 sock = netlink_lookup(sock_net(ssk), ssk->sk_protocol, portid); 1180 READ_ONCE(nlk->dst_portid) != nlk_sk(ssk)->portid) { 1236 long *timeo, struct sock *ssk) 1246 if (!ssk || netlink_is_kernel(ssk)) 1324 struct sock *ssk) 1333 NETLINK_CB(skb).sk = ssk; 1334 netlink_deliver_tap_kernel(sk, ssk, sk 1235 netlink_attachskb(struct sock *sk, struct sk_buff *skb, long *timeo, struct sock *ssk) argument 1323 netlink_unicast_kernel(struct sock *sk, struct sk_buff *skb, struct sock *ssk) argument 1344 netlink_unicast(struct sock *ssk, struct sk_buff *skb, u32 portid, int nonblock) argument 1513 netlink_broadcast_filtered(struct sock *ssk, struct sk_buff *skb, u32 portid, u32 group, gfp_t allocation, netlink_filter_fn filter, void *filter_data) argument 1565 netlink_broadcast(struct sock *ssk, struct sk_buff *skb, u32 portid, u32 group, gfp_t allocation) argument 1616 netlink_set_err(struct sock *ssk, u32 portid, u32 group, int code) argument 2332 __netlink_dump_start(struct sock *ssk, struct sk_buff *skb, const struct nlmsghdr *nlh, struct netlink_dump_control *control) argument [all...] |
/linux-master/security/ |
H A D | security.c | 4969 * @ssk: the new subflow 4978 int security_mptcp_add_subflow(struct sock *sk, struct sock *ssk) argument 4980 return call_int_hook(mptcp_add_subflow, sk, ssk);
|
/linux-master/security/selinux/ |
H A D | hooks.c | 5500 static int selinux_mptcp_add_subflow(struct sock *sk, struct sock *ssk) argument 5502 struct sk_security_struct *ssksec = ssk->sk_security; 5512 return selinux_netlbl_socket_post_create(ssk, ssk->sk_family);
|
/linux-master/tools/testing/selftests/bpf/progs/ |
H A D | mptcp_sock.c | 82 const struct sock *ssk, int server_side) 81 BPF_PROG(trace_mptcp_pm_new_connection, struct mptcp_sock *msk, const struct sock *ssk, int server_side) argument
|