/openbmc/linux/net/mptcp/ |
H A D | sockopt.c | 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_KEEPOPEN, !!val); in mptcp_sol_socket_sync_intval() 92 ssk->sk_priority = val; in mptcp_sol_socket_sync_intval() 96 ssk->sk_userlocks |= SOCK_SNDBUF_LOCK; in mptcp_sol_socket_sync_intval() 97 WRITE_ONCE(ssk->sk_sndbuf, sk->sk_sndbuf); in mptcp_sol_socket_sync_intval() 98 mptcp_subflow_ctx(ssk)->cached_sndbuf = sk->sk_sndbuf; in mptcp_sol_socket_sync_intval() [all …]
|
H A D | protocol.c | 323 static bool mptcp_rmem_schedule(struct sock *sk, struct sock *ssk, int size) in mptcp_rmem_schedule() argument 341 static bool __mptcp_move_skb(struct mptcp_sock *msk, struct sock *ssk, in __mptcp_move_skb() argument 345 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in __mptcp_move_skb() 350 __skb_unlink(skb, &ssk->sk_receive_queue); in __mptcp_move_skb() 356 if (!mptcp_rmem_schedule(sk, ssk, skb->truesize)) { in __mptcp_move_skb() 487 const struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_timeout_from_subflow() local 489 return inet_csk(ssk)->icsk_pending && !subflow->stale_count ? in mptcp_timeout_from_subflow() 490 inet_csk(ssk)->icsk_timeout - jiffies : 0; in mptcp_timeout_from_subflow() 503 static inline bool tcp_can_send_ack(const struct sock *ssk) in tcp_can_send_ack() argument 505 return !((1 << inet_sk_state_load(ssk)) & in tcp_can_send_ack() [all …]
|
H A D | subflow.c | 31 static void mptcp_subflow_ops_undo_override(struct sock *ssk); 410 void mptcp_subflow_reset(struct sock *ssk) in mptcp_subflow_reset() argument 412 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in mptcp_subflow_reset() 418 if (ssk->sk_state == TCP_CLOSE) in mptcp_subflow_reset() 424 tcp_send_active_reset(ssk, GFP_ATOMIC); in mptcp_subflow_reset() 425 tcp_done(ssk); in mptcp_subflow_reset() 441 struct sock *ssk = msk->first; in __mptcp_sync_state() local 443 subflow = mptcp_subflow_ctx(ssk); in __mptcp_sync_state() 444 __mptcp_propagate_sndbuf(sk, ssk); in __mptcp_sync_state() 446 mptcp_rcv_space_init(msk, ssk); in __mptcp_sync_state() 480 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 757 mptcp_subflow_drop_ctx(struct sock * ssk) mptcp_subflow_drop_ctx() argument 952 skb_is_fully_mapped(struct sock * ssk,struct sk_buff * skb) skb_is_fully_mapped() argument 967 validate_mapping(struct sock * ssk,struct sk_buff * skb) validate_mapping() argument 988 validate_data_csum(struct sock * ssk,struct sk_buff * skb,bool csum_reqd) validate_data_csum() argument 1067 get_mapping_status(struct sock * ssk,struct mptcp_sock * msk) get_mapping_status() argument 1212 mptcp_subflow_discard_data(struct sock * ssk,struct sk_buff * skb,u64 limit) mptcp_subflow_discard_data() argument 1240 subflow_sched_work_if_closed(struct mptcp_sock * msk,struct sock * ssk) subflow_sched_work_if_closed() argument 1266 mptcp_subflow_fail(struct mptcp_sock * msk,struct sock * ssk) mptcp_subflow_fail() argument 1293 subflow_check_data_avail(struct sock * ssk) subflow_check_data_avail() argument 1417 mptcp_space(const struct sock * ssk,int * space,int * full_space) mptcp_space() argument 1426 subflow_error_report(struct sock * ssk) subflow_error_report() argument 1483 subflow_write_space(struct sock * ssk) subflow_write_space() argument 1562 struct sock *ssk; __mptcp_subflow_connect() local 1667 mptcp_subflow_ops_override(struct sock * ssk) mptcp_subflow_ops_override() argument 1677 mptcp_subflow_ops_undo_override(struct sock * ssk) mptcp_subflow_ops_undo_override() argument 1831 struct sock *sk, *ssk; mptcp_subflow_queue_clean() local 1937 subflow_ulp_release(struct sock * ssk) subflow_ulp_release() argument 2025 tcp_release_cb_override(struct sock * ssk) tcp_release_cb_override() argument 2041 tcp_abort_override(struct sock * ssk,int err) tcp_abort_override() argument [all...] |
H A D | protocol.h | 586 void mptcp_subflow_process_delegated(struct sock *ssk, long actions); 643 void mptcp_subflow_shutdown(struct sock *sk, struct sock *ssk, int how); 644 void mptcp_close_ssk(struct sock *sk, struct sock *ssk, 646 void __mptcp_subflow_send_ack(struct sock *ssk); 647 void mptcp_subflow_reset(struct sock *ssk); 648 void mptcp_subflow_queue_clean(struct sock *sk, struct sock *ssk); 706 static inline bool __tcp_can_send(const struct sock *ssk) in __tcp_can_send() argument 709 return ((1 << inet_sk_state_load(ssk)) & (TCPF_ESTABLISHED | TCPF_CLOSE_WAIT)); in __tcp_can_send() 725 void mptcp_subflow_drop_ctx(struct sock *ssk); 745 struct sock *ssk, [all …]
|
H A D | pm_netlink.c | 140 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in lookup_subflow_by_daddr() local 142 if (!((1 << inet_sk_state_load(ssk)) & in lookup_subflow_by_daddr() 146 remote_address((struct sock_common *)ssk, &cur); in lookup_subflow_by_daddr() 425 struct sock *sk = (struct sock *)msk, *ssk; in fill_remote_addresses_vec() local 458 ssk = mptcp_subflow_tcp_sock(subflow); in fill_remote_addresses_vec() 459 remote_address((struct sock_common *)ssk, &addrs[i]); in fill_remote_addresses_vec() 487 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); in __mptcp_pm_send_ack() local 493 slow = lock_sock_fast(ssk); in __mptcp_pm_send_ack() 499 __mptcp_subflow_send_ack(ssk); in __mptcp_pm_send_ack() 500 unlock_sock_fast(ssk, slo in __mptcp_pm_send_ack() 813 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_pm_nl_mp_prio_send_ack() local 860 struct sock *ssk = mptcp_subflow_tcp_sock(subflow); mptcp_pm_nl_rm_addr_or_subflow() local 1074 struct sock *newsk, *ssk; mptcp_pm_nl_create_listen_socket() local 1222 mptcp_pm_nl_subflow_chk_stale(const struct mptcp_sock * msk,struct sock * ssk) mptcp_pm_nl_subflow_chk_stale() argument 2127 mptcp_event_add_subflow(struct sk_buff * skb,const struct sock * ssk) mptcp_event_add_subflow() argument 2178 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 2211 mptcp_event_sub_established(struct sk_buff * skb,const struct mptcp_sock * msk,const struct sock * ssk) mptcp_event_sub_established() argument 2218 mptcp_event_sub_closed(struct sk_buff * skb,const struct mptcp_sock * msk,const struct sock * ssk) mptcp_event_sub_closed() argument 2240 mptcp_event_created(struct sk_buff * skb,const struct mptcp_sock * msk,const struct sock * ssk) mptcp_event_created() argument 2284 mptcp_event_addr_announced(const struct sock * ssk,const struct mptcp_addr_info * info) mptcp_event_addr_announced() argument 2341 mptcp_event_pm_listener(const struct sock * ssk,enum mptcp_event_type event) mptcp_event_pm_listener() argument 2394 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 | 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 | 66 void mptcp_pm_new_connection(struct mptcp_sock *msk, const struct sock *ssk, int server_side) in mptcp_pm_new_connection() argument 73 mptcp_event(MPTCP_EVENT_CREATED, msk, ssk, GFP_ATOMIC); in mptcp_pm_new_connection() 128 void mptcp_pm_fully_established(struct mptcp_sock *msk, const struct sock *ssk) in mptcp_pm_fully_established() argument 152 mptcp_event(MPTCP_EVENT_ESTABLISHED, msk, ssk, GFP_ATOMIC); in mptcp_pm_fully_established() 177 void mptcp_pm_subflow_check_next(struct mptcp_sock *msk, const struct sock *ssk, in mptcp_pm_subflow_check_next() argument 209 void mptcp_pm_add_addr_received(const struct sock *ssk, in mptcp_pm_add_addr_received() argument 212 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in mptcp_pm_add_addr_received() 219 mptcp_event_addr_announced(ssk, addr); in mptcp_pm_add_addr_received() 286 void mptcp_pm_mp_prio_received(struct sock *ssk, u8 bkup) in mptcp_pm_mp_prio_received() argument 288 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk); in mptcp_pm_mp_prio_received() [all …]
|
H A D | pm_userspace.c | 440 struct sock *ssk; in mptcp_nl_find_ssk() local 442 ssk = mptcp_subflow_tcp_sock(subflow); in mptcp_nl_find_ssk() 444 if (local->family != ssk->sk_family) in mptcp_nl_find_ssk() 447 issk = inet_sk(ssk); in mptcp_nl_find_ssk() 449 switch (ssk->sk_family) { in mptcp_nl_find_ssk() 457 const struct ipv6_pinfo *pinfo = inet6_sk(ssk); in mptcp_nl_find_ssk() 460 !ipv6_addr_equal(&remote->addr6, &ssk->sk_v6_daddr)) in mptcp_nl_find_ssk() 471 return ssk; in mptcp_nl_find_ssk() 485 struct sock *sk, *ssk; in mptcp_nl_cmd_sf_destroy() local 543 ssk = mptcp_nl_find_ssk(msk, &addr_l, &addr_r); 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 | 928 static bool check_fully_established(struct mptcp_sock *msk, struct sock *ssk, in check_fully_established() argument 945 tcp_send_ack(ssk); in check_fully_established() 981 mptcp_do_fallback(ssk); in check_fully_established() 1007 clear_3rdack_retransmission(ssk); in check_fully_established() 1010 mptcp_pm_fully_established(msk, ssk); in check_fully_established() 1015 mptcp_subflow_reset(ssk); in check_fully_established() 1042 struct sock *ssk, in ack_update_msk() argument 1062 new_wnd_end = new_snd_una + tcp_sk(ssk)->snd_wnd; in ack_update_msk() 1069 __mptcp_check_push(sk, ssk); in ack_update_msk() 1256 const struct sock *ssk = (const struct sock *)tp; in mptcp_set_rwin() local [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()
|
/openbmc/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 = 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);
|
/openbmc/linux/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); 328 int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb, 331 static inline int netlink_dump_start(struct sock *ssk, struct sk_buff *skb, in netlink_dump_start() argument 338 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
|
H A D | lsm_hook_defs.h | 349 LSM_HOOK(int, 0, mptcp_add_subflow, struct sock *sk, struct sock *ssk)
|
/openbmc/linux/net/netlink/ |
H A D | af_netlink.c | 1152 static struct sock *netlink_getsockbyportid(struct sock *ssk, u32 portid) in netlink_getsockbyportid() argument 1157 sock = netlink_lookup(sock_net(ssk), ssk->sk_protocol, portid); in netlink_getsockbyportid() 1165 READ_ONCE(nlk->dst_portid) != nlk_sk(ssk)->portid) { in netlink_getsockbyportid() 1224 long *timeo, struct sock *ssk) in netlink_attachskb() argument 1234 if (!ssk || netlink_is_kernel(ssk)) in netlink_attachskb() 1312 struct sock *ssk) in netlink_unicast_kernel() argument 1321 NETLINK_CB(skb).sk = ssk; in netlink_unicast_kernel() 1322 netlink_deliver_tap_kernel(sk, ssk, skb); in netlink_unicast_kernel() 1332 int netlink_unicast(struct sock *ssk, struct sk_buff *skb, in netlink_unicast() argument 1341 timeo = sock_sndtimeo(ssk, nonblock); in netlink_unicast() [all …]
|
/openbmc/linux/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
|
/openbmc/linux/tools/testing/selftests/bpf/progs/ |
H A D | mptcp_sock.c | 82 const struct sock *ssk, int server_side) in BPF_PROG() argument
|
/openbmc/linux/security/ |
H A D | security.c | 4781 int security_mptcp_add_subflow(struct sock *sk, struct sock *ssk) in security_mptcp_add_subflow() argument 4783 return call_int_hook(mptcp_add_subflow, 0, sk, ssk); in security_mptcp_add_subflow()
|
/openbmc/linux/security/selinux/ |
H A D | hooks.c | 5477 static int selinux_mptcp_add_subflow(struct sock *sk, struct sock *ssk) in selinux_mptcp_add_subflow() argument 5479 struct sk_security_struct *ssksec = ssk->sk_security; in selinux_mptcp_add_subflow() 5489 return selinux_netlbl_socket_post_create(ssk, ssk->sk_family); in selinux_mptcp_add_subflow()
|