/kernel/linux/linux-5.10/net/mptcp/ |
H A D | pm.c | 15 int mptcp_pm_announce_addr(struct mptcp_sock *msk, in mptcp_pm_announce_addr() argument 19 pr_debug("msk=%p, local_id=%d", msk, addr->id); in mptcp_pm_announce_addr() 21 msk->pm.local = *addr; in mptcp_pm_announce_addr() 22 WRITE_ONCE(msk->pm.add_addr_echo, echo); in mptcp_pm_announce_addr() 23 WRITE_ONCE(msk->pm.add_addr_signal, true); in mptcp_pm_announce_addr() 27 int mptcp_pm_remove_addr(struct mptcp_sock *msk, u8 local_id) in mptcp_pm_remove_addr() argument 29 pr_debug("msk=%p, local_id=%d", msk, local_id); in mptcp_pm_remove_addr() 31 msk in mptcp_pm_remove_addr() 36 mptcp_pm_remove_subflow(struct mptcp_sock *msk, u8 local_id) mptcp_pm_remove_subflow() argument 48 mptcp_pm_new_connection(struct mptcp_sock *msk, int server_side) mptcp_pm_new_connection() argument 57 mptcp_pm_allow_new_subflow(struct mptcp_sock *msk) mptcp_pm_allow_new_subflow() argument 83 mptcp_pm_schedule_work(struct mptcp_sock *msk, enum mptcp_pm_status new_status) mptcp_pm_schedule_work() argument 97 mptcp_pm_fully_established(struct mptcp_sock *msk) mptcp_pm_fully_established() argument 115 mptcp_pm_connection_closed(struct mptcp_sock *msk) mptcp_pm_connection_closed() argument 120 mptcp_pm_subflow_established(struct mptcp_sock *msk, struct mptcp_subflow_context *subflow) mptcp_pm_subflow_established() argument 138 mptcp_pm_subflow_closed(struct mptcp_sock *msk, u8 id) mptcp_pm_subflow_closed() argument 143 mptcp_pm_add_addr_received(struct mptcp_sock *msk, const struct mptcp_addr_info *addr) mptcp_pm_add_addr_received() argument 161 mptcp_pm_rm_addr_received(struct mptcp_sock *msk, u8 rm_id) mptcp_pm_rm_addr_received() argument 175 mptcp_pm_add_addr_signal(struct mptcp_sock *msk, unsigned int remaining, struct mptcp_addr_info *saddr, bool *echo) mptcp_pm_add_addr_signal() argument 200 mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, unsigned int remaining, u8 *rm_id) mptcp_pm_rm_addr_signal() argument 223 mptcp_pm_get_local_id(struct mptcp_sock *msk, struct sock_common *skc) mptcp_pm_get_local_id() argument 228 mptcp_pm_data_init(struct mptcp_sock *msk) mptcp_pm_data_init() argument [all...] |
H A D | protocol.c | 29 struct mptcp_sock msk; member 44 /* If msk has an initial subflow socket, and the MP_CAPABLE handshake has not 48 static struct socket *__mptcp_nmpc_socket(const struct mptcp_sock *msk) in __mptcp_nmpc_socket() argument 50 if (!msk->subflow || READ_ONCE(msk->can_ack)) in __mptcp_nmpc_socket() 53 return msk->subflow; in __mptcp_nmpc_socket() 80 static struct sock *__mptcp_tcp_fallback(struct mptcp_sock *msk) in __mptcp_tcp_fallback() argument 82 sock_owned_by_me((const struct sock *)msk); in __mptcp_tcp_fallback() 84 if (likely(!__mptcp_check_fallback(msk))) in __mptcp_tcp_fallback() 87 return msk in __mptcp_tcp_fallback() 90 __mptcp_socket_create(struct mptcp_sock *msk) __mptcp_socket_create() argument 141 mptcp_ooo_try_coalesce(struct mptcp_sock *msk, struct sk_buff *to, struct sk_buff *from) mptcp_ooo_try_coalesce() argument 154 mptcp_data_queue_ofo(struct mptcp_sock *msk, struct sk_buff *skb) mptcp_data_queue_ofo() argument 264 __mptcp_move_skb(struct mptcp_sock *msk, struct sock *ssk, struct sk_buff *skb, unsigned int offset, size_t copy_len) __mptcp_move_skb() argument 330 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_check_data_fin_ack() local 365 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_pending_data_fin() local 395 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_check_data_fin() local 460 __mptcp_move_skbs_from_subflow(struct mptcp_sock *msk, struct sock *ssk, unsigned int *bytes) __mptcp_move_skbs_from_subflow() argument 546 mptcp_ofo_queue(struct mptcp_sock *msk) mptcp_ofo_queue() argument 592 move_skbs_to_msk(struct mptcp_sock *msk, struct sock *ssk) move_skbs_to_msk() argument 626 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_data_ready() local 660 __mptcp_flush_join_list(struct mptcp_sock *msk) __mptcp_flush_join_list() argument 699 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_subflow_eof() local 706 mptcp_check_for_eof(struct mptcp_sock *msk) mptcp_check_for_eof() argument 727 mptcp_ext_cache_refill(struct mptcp_sock *msk) mptcp_ext_cache_refill() argument 737 mptcp_subflow_recv_lookup(const struct mptcp_sock *msk) mptcp_subflow_recv_lookup() argument 768 mptcp_frag_can_collapse_to(const struct mptcp_sock *msk, const struct page_frag *pfrag, const struct mptcp_data_frag *df) mptcp_frag_can_collapse_to() argument 792 mptcp_is_writeable(struct mptcp_sock *msk) mptcp_is_writeable() argument 808 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_clean_una() local 875 mptcp_carve_data_frag(const struct mptcp_sock *msk, struct page_frag *pfrag, int orig_offset) mptcp_carve_data_frag() argument 898 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_sendmsg_frag() local 1047 mptcp_nospace(struct mptcp_sock *msk) mptcp_nospace() argument 1087 mptcp_subflow_get_send(struct mptcp_sock *msk, u32 *sndbuf) mptcp_subflow_get_send() argument 1165 ssk_check_wmem(struct mptcp_sock *msk) ssk_check_wmem() argument 1174 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_sendmsg() local 1327 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_wait_data() local 1339 __mptcp_recvmsg_mskq(struct mptcp_sock *msk, struct msghdr *msg, size_t len) __mptcp_recvmsg_mskq() argument 1381 mptcp_rcv_space_adjust(struct mptcp_sock *msk, int copied) mptcp_rcv_space_adjust() argument 1475 __mptcp_move_skbs(struct mptcp_sock *msk) __mptcp_move_skbs() argument 1506 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_recvmsg() local 1607 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_retransmit_handler() local 1642 mptcp_subflow_get_retrans(const struct mptcp_sock *msk) mptcp_subflow_get_retrans() argument 1707 pm_work(struct mptcp_sock *msk) pm_work() argument 1734 __mptcp_close_subflow(struct mptcp_sock *msk) __mptcp_close_subflow() argument 1750 struct mptcp_sock *msk = container_of(work, struct mptcp_sock, work); mptcp_worker() local 1833 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_init_sock() local 1883 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_clear_xmit() local 1894 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_cancel_work() local 1958 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_close() local 2015 mptcp_copy_inaddrs(struct sock *msk, const struct sock *ssk) mptcp_copy_inaddrs() argument 2063 struct mptcp_sock *msk; mptcp_sk_clone() local 2104 mptcp_rcv_space_init(struct mptcp_sock *msk, const struct sock *ssk) mptcp_rcv_space_init() argument 2123 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_accept() local 2182 mptcp_destroy_common(struct mptcp_sock *msk) mptcp_destroy_common() argument 2191 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_destroy() local 2200 mptcp_setsockopt_sol_socket(struct mptcp_sock *msk, int optname, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_sol_socket() argument 2231 mptcp_setsockopt_v6(struct mptcp_sock *msk, int optname, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_v6() argument 2303 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_setsockopt() local 2335 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_getsockopt() local 2375 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_release_cb() local 2405 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_get_port() local 2419 struct mptcp_sock *msk; mptcp_finish_connect() local 2461 struct mptcp_sock *msk = mptcp_sk(subflow->conn); mptcp_finish_join() local 2503 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_memory_free() local 2539 struct mptcp_sock *msk = mptcp_sk(sock->sk); mptcp_bind() local 2559 mptcp_subflow_early_fallback(struct mptcp_sock *msk, struct mptcp_subflow_context *subflow) mptcp_subflow_early_fallback() argument 2569 struct mptcp_sock *msk = mptcp_sk(sock->sk); mptcp_stream_connect() local 2621 struct mptcp_sock *msk = mptcp_sk(sock->sk); mptcp_listen() local 2651 struct mptcp_sock *msk = mptcp_sk(sock->sk); mptcp_stream_accept() local 2671 struct mptcp_sock *msk = mptcp_sk(newsock->sk); mptcp_stream_accept() local 2696 mptcp_check_readable(struct mptcp_sock *msk) mptcp_check_readable() argument 2706 struct mptcp_sock *msk; mptcp_poll() local 2731 struct mptcp_sock *msk = mptcp_sk(sock->sk); mptcp_shutdown() local [all...] |
H A D | pm_netlink.c | 133 struct mptcp_sock *msk) in select_local_address() 138 spin_lock_bh(&msk->join_list_lock); in select_local_address() 146 if (entry->addr.family == ((struct sock *)msk)->sk_family && in select_local_address() 147 !lookup_subflow_by_saddr(&msk->conn_list, &entry->addr) && in select_local_address() 148 !lookup_subflow_by_saddr(&msk->join_list, &entry->addr)) { in select_local_address() 153 spin_unlock_bh(&msk->join_list_lock); in select_local_address() 167 * Note: removal from the local address list during the msk life-cycle in select_signal_address() 182 static void check_work_pending(struct mptcp_sock *msk) in check_work_pending() argument 184 if (msk->pm.add_addr_signaled == msk in check_work_pending() 132 select_local_address(const struct pm_nl_pernet *pernet, struct mptcp_sock *msk) select_local_address() argument 191 lookup_anno_list_by_saddr(struct mptcp_sock *msk, struct mptcp_addr_info *addr) lookup_anno_list_by_saddr() argument 207 struct mptcp_sock *msk = entry->sock; mptcp_pm_add_timer() local 244 mptcp_pm_del_add_timer(struct mptcp_sock *msk, struct mptcp_addr_info *addr) mptcp_pm_del_add_timer() argument 262 mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, struct mptcp_pm_addr_entry *entry) mptcp_pm_alloc_anno_list() argument 287 mptcp_pm_free_anno_list(struct mptcp_sock *msk) mptcp_pm_free_anno_list() argument 305 mptcp_pm_create_subflow_or_signal_addr(struct mptcp_sock *msk) mptcp_pm_create_subflow_or_signal_addr() argument 359 mptcp_pm_nl_fully_established(struct mptcp_sock *msk) mptcp_pm_nl_fully_established() argument 364 mptcp_pm_nl_subflow_established(struct mptcp_sock *msk) mptcp_pm_nl_subflow_established() argument 369 mptcp_pm_nl_add_addr_received(struct mptcp_sock *msk) mptcp_pm_nl_add_addr_received() argument 400 mptcp_pm_nl_rm_addr_received(struct mptcp_sock *msk) mptcp_pm_nl_rm_addr_received() argument 436 mptcp_pm_nl_rm_subflow_received(struct mptcp_sock *msk, u8 rm_id) mptcp_pm_nl_rm_subflow_received() argument 518 mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, struct sock_common *skc) mptcp_pm_nl_get_local_id() argument 568 mptcp_pm_nl_data_init(struct mptcp_sock *msk) mptcp_pm_nl_data_init() argument 734 remove_anno_list_by_saddr(struct mptcp_sock *msk, struct mptcp_addr_info *addr) remove_anno_list_by_saddr() argument 749 mptcp_pm_remove_anno_addr(struct mptcp_sock *msk, struct mptcp_addr_info *addr, bool force) mptcp_pm_remove_anno_addr() argument 767 struct mptcp_sock *msk; mptcp_nl_remove_subflow_and_signal_addr() local [all...] |
H A D | token_test.c | 54 struct mptcp_sock *msk; in build_msk() local 56 msk = kunit_kzalloc(test, sizeof(struct mptcp_sock), GFP_USER); in build_msk() 57 KUNIT_EXPECT_NOT_ERR_OR_NULL(test, msk); in build_msk() 58 refcount_set(&((struct sock *)msk)->sk_refcnt, 1); in build_msk() 59 sock_net_set((struct sock *)msk, &init_net); in build_msk() 60 return msk; in build_msk() 67 struct mptcp_sock *msk = build_msk(test); in mptcp_token_test_msk_basic() local 72 ctx->conn = (struct sock *)msk; in mptcp_token_test_msk_basic() 73 sk = (struct sock *)msk; in mptcp_token_test_msk_basic() 78 KUNIT_EXPECT_EQ(test, ctx->token, msk in mptcp_token_test_msk_basic() 89 struct mptcp_sock *msk = build_msk(test); mptcp_token_test_accept() local 108 struct mptcp_sock *msk = build_msk(test); mptcp_token_test_destroyed() local [all...] |
H A D | protocol.h | 245 struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_rtx_tail() local 247 if (list_empty(&msk->rtx_queue)) in mptcp_rtx_tail() 250 return list_last_entry(&msk->rtx_queue, struct mptcp_data_frag, list); in mptcp_rtx_tail() 255 struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_rtx_head() local 257 return list_first_entry_or_null(&msk->rtx_queue, struct mptcp_data_frag, list); in mptcp_rtx_head() 274 struct mptcp_sock *msk; member 407 void mptcp_rcv_space_init(struct mptcp_sock *msk, const struct sock *ssk); 412 bool mptcp_update_rcv_data_fin(struct mptcp_sock *msk, u64 data_fin_seq, bool use_64bit); 413 void mptcp_destroy_common(struct mptcp_sock *msk); 425 struct mptcp_sock *msk); 459 mptcp_pm_should_add_signal(struct mptcp_sock *msk) mptcp_pm_should_add_signal() argument 464 mptcp_pm_should_rm_signal(struct mptcp_sock *msk) mptcp_pm_should_rm_signal() argument 506 __mptcp_check_fallback(const struct mptcp_sock *msk) __mptcp_check_fallback() argument 514 struct mptcp_sock *msk = mptcp_sk(subflow->conn); mptcp_check_fallback() local 519 __mptcp_do_fallback(struct mptcp_sock *msk) __mptcp_do_fallback() argument 531 struct mptcp_sock *msk = mptcp_sk(subflow->conn); mptcp_do_fallback() local [all...] |
H A D | mptcp_diag.c | 32 struct mptcp_sock *msk = NULL; in mptcp_diag_dump_one() local 39 msk = mptcp_token_get_sock(net, req->id.idiag_cookie[0]); in mptcp_diag_dump_one() 40 if (!msk) in mptcp_diag_dump_one() 44 sk = (struct sock *)msk; in mptcp_diag_dump_one() 77 struct mptcp_sock *msk; in mptcp_diag_dump() local 83 while ((msk = mptcp_token_iter_next(net, &cb->args[0], &cb->args[1])) != in mptcp_diag_dump() 85 struct inet_sock *inet = (struct inet_sock *)msk; in mptcp_diag_dump() 86 struct sock *sk = (struct sock *)msk; in mptcp_diag_dump() 116 struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_diag_get_info() local 128 info->mptcpi_subflows = READ_ONCE(msk in mptcp_diag_get_info() [all...] |
H A D | options.c | 490 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_established_options_dss() local 498 snd_data_fin_enable = READ_ONCE(msk->snd_data_fin_enable); in mptcp_established_options_dss() 515 /* passive sockets msk will set the 'can_ack' after accept(), even in mptcp_established_options_dss() 519 if (!READ_ONCE(msk->can_ack)) { in mptcp_established_options_dss() 524 if (READ_ONCE(msk->use_64bit_ack)) { in mptcp_established_options_dss() 526 opts->ext_copy.data_ack = READ_ONCE(msk->ack_seq); in mptcp_established_options_dss() 530 opts->ext_copy.data_ack32 = (uint32_t)READ_ONCE(msk->ack_seq); in mptcp_established_options_dss() 585 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_established_options_add_addr() local 590 if (!mptcp_pm_should_add_signal(msk) || in mptcp_established_options_add_addr() 591 !(mptcp_pm_add_addr_signal(msk, remainin in mptcp_established_options_add_addr() 633 struct mptcp_sock *msk = mptcp_sk(subflow->conn); mptcp_established_options_rm_addr() local 724 check_fully_established(struct mptcp_sock *msk, struct sock *ssk, struct mptcp_subflow_context *subflow, struct sk_buff *skb, struct mptcp_options_received *mp_opt) check_fully_established() argument 815 update_una(struct mptcp_sock *msk, struct mptcp_options_received *mp_opt) update_una() argument 842 mptcp_update_rcv_data_fin(struct mptcp_sock *msk, u64 data_fin_seq, bool use_64bit) mptcp_update_rcv_data_fin() argument 859 add_addr_hmac_valid(struct mptcp_sock *msk, struct mptcp_options_received *mp_opt) add_addr_hmac_valid() argument 888 struct mptcp_sock *msk = mptcp_sk(subflow->conn); mptcp_incoming_options() local [all...] |
H A D | token.c | 155 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_token_new_connect() local 175 WRITE_ONCE(msk->token, subflow->token); in mptcp_token_new_connect() 176 __sk_nulls_add_node_rcu((struct sock *)msk, &bucket->msk_chain); in mptcp_token_new_connect() 185 * @msk: the just cloned socket linked to the new connection 191 struct mptcp_sock *msk) in mptcp_token_accept() 203 __sk_nulls_add_node_rcu((struct sock *)msk, &bucket->msk_chain); in mptcp_token_accept() 211 struct mptcp_sock *msk; in mptcp_token_exists() local 219 msk = mptcp_sk(sk); in mptcp_token_exists() 220 if (READ_ONCE(msk->token) == token) in mptcp_token_exists() 247 struct mptcp_sock *msk; in mptcp_token_get_sock() local 190 mptcp_token_accept(struct mptcp_subflow_request_sock *req, struct mptcp_sock *msk) mptcp_token_accept() argument 372 mptcp_token_destroy(struct mptcp_sock *msk) mptcp_token_destroy() argument [all...] |
/kernel/linux/linux-6.6/net/mptcp/ |
H A D | pm.c | 17 int mptcp_pm_announce_addr(struct mptcp_sock *msk, in mptcp_pm_announce_addr() argument 21 u8 add_addr = READ_ONCE(msk->pm.addr_signal); in mptcp_pm_announce_addr() 23 pr_debug("msk=%p, local_id=%d, echo=%d", msk, addr->id, echo); in mptcp_pm_announce_addr() 25 lockdep_assert_held(&msk->pm.lock); in mptcp_pm_announce_addr() 29 MPTCP_INC_STATS(sock_net((struct sock *)msk), in mptcp_pm_announce_addr() 35 msk->pm.remote = *addr; in mptcp_pm_announce_addr() 38 msk->pm.local = *addr; in mptcp_pm_announce_addr() 41 WRITE_ONCE(msk->pm.addr_signal, add_addr); in mptcp_pm_announce_addr() 45 int mptcp_pm_remove_addr(struct mptcp_sock *msk, cons argument 64 mptcp_pm_remove_subflow(struct mptcp_sock *msk, const struct mptcp_rm_list *rm_list) mptcp_pm_remove_subflow() argument 76 mptcp_pm_new_connection(struct mptcp_sock *msk, const struct sock *ssk, int server_side) mptcp_pm_new_connection() argument 86 mptcp_pm_allow_new_subflow(struct mptcp_sock *msk) mptcp_pm_allow_new_subflow() argument 125 mptcp_pm_schedule_work(struct mptcp_sock *msk, enum mptcp_pm_status new_status) mptcp_pm_schedule_work() argument 138 mptcp_pm_fully_established(struct mptcp_sock *msk, const struct sock *ssk) mptcp_pm_fully_established() argument 165 mptcp_pm_connection_closed(struct mptcp_sock *msk) mptcp_pm_connection_closed() argument 170 mptcp_pm_subflow_established(struct mptcp_sock *msk) mptcp_pm_subflow_established() argument 187 mptcp_pm_subflow_check_next(struct mptcp_sock *msk, const struct sock *ssk, const struct mptcp_subflow_context *subflow) mptcp_pm_subflow_check_next() argument 223 struct mptcp_sock *msk = mptcp_sk(subflow->conn); mptcp_pm_add_addr_received() local 252 mptcp_pm_add_addr_echoed(struct mptcp_sock *msk, const struct mptcp_addr_info *addr) mptcp_pm_add_addr_echoed() argument 267 mptcp_pm_add_addr_send_ack(struct mptcp_sock *msk) mptcp_pm_add_addr_send_ack() argument 275 mptcp_pm_rm_addr_received(struct mptcp_sock *msk, const struct mptcp_rm_list *rm_list) mptcp_pm_rm_addr_received() argument 298 struct mptcp_sock *msk; mptcp_pm_mp_prio_received() local 311 struct mptcp_sock *msk = mptcp_sk(subflow->conn); mptcp_pm_mp_fail_received() local 332 mptcp_pm_add_addr_signal(struct mptcp_sock *msk, const struct sk_buff *skb, unsigned int opt_size, unsigned int remaining, struct mptcp_addr_info *addr, bool *echo, bool *drop_other_suboptions) mptcp_pm_add_addr_signal() argument 379 mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, unsigned int remaining, struct mptcp_rm_list *rm_list) mptcp_pm_rm_addr_signal() argument 409 mptcp_pm_get_local_id(struct mptcp_sock *msk, struct sock_common *skc) mptcp_pm_get_local_id() argument 430 mptcp_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned int id, u8 *flags, int *ifindex) mptcp_pm_get_flags_and_ifindex_by_id() argument 453 mptcp_pm_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk) mptcp_pm_subflow_chk_stale() argument 497 mptcp_pm_data_reset(struct mptcp_sock *msk) mptcp_pm_data_reset() argument 536 mptcp_pm_data_init(struct mptcp_sock *msk) mptcp_pm_data_init() argument [all...] |
H A D | pm_userspace.c | 10 void mptcp_free_local_addr_list(struct mptcp_sock *msk) in mptcp_free_local_addr_list() argument 13 struct sock *sk = (struct sock *)msk; in mptcp_free_local_addr_list() 16 if (!mptcp_pm_is_userspace(msk)) in mptcp_free_local_addr_list() 19 spin_lock_bh(&msk->pm.lock); in mptcp_free_local_addr_list() 20 list_splice_init(&msk->pm.userspace_pm_local_addr_list, &free_list); in mptcp_free_local_addr_list() 21 spin_unlock_bh(&msk->pm.lock); in mptcp_free_local_addr_list() 28 static int mptcp_userspace_pm_append_new_local_addr(struct mptcp_sock *msk, in mptcp_userspace_pm_append_new_local_addr() argument 34 struct sock *sk = (struct sock *)msk; in mptcp_userspace_pm_append_new_local_addr() 42 spin_lock_bh(&msk->pm.lock); in mptcp_userspace_pm_append_new_local_addr() 43 list_for_each_entry(e, &msk in mptcp_userspace_pm_append_new_local_addr() 89 mptcp_userspace_pm_delete_local_addr(struct mptcp_sock *msk, struct mptcp_pm_addr_entry *addr) mptcp_userspace_pm_delete_local_addr() argument 109 mptcp_userspace_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned int id, u8 *flags, int *ifindex) mptcp_userspace_pm_get_flags_and_ifindex_by_id() argument 131 mptcp_userspace_pm_get_local_id(struct mptcp_sock *msk, struct mptcp_addr_info *skc) mptcp_userspace_pm_get_local_id() argument 165 struct mptcp_sock *msk; mptcp_nl_cmd_announce() local 223 mptcp_userspace_pm_remove_id_zero_address(struct mptcp_sock *msk, struct genl_info *info) mptcp_userspace_pm_remove_id_zero_address() argument 263 struct mptcp_sock *msk; mptcp_nl_cmd_remove() local 332 struct mptcp_sock *msk; mptcp_nl_cmd_sf_create() local 400 mptcp_nl_find_ssk(struct mptcp_sock *msk, const struct mptcp_addr_info *local, const struct mptcp_addr_info *remote) mptcp_nl_find_ssk() argument 455 struct mptcp_sock *msk; mptcp_nl_cmd_sf_destroy() local 540 struct mptcp_sock *msk; mptcp_userspace_pm_set_flags() local [all...] |
H A D | sched.c | 19 static int mptcp_sched_default_get_subflow(struct mptcp_sock *msk, in mptcp_sched_default_get_subflow() argument 24 ssk = data->reinject ? mptcp_subflow_get_retrans(msk) : in mptcp_sched_default_get_subflow() 25 mptcp_subflow_get_send(msk); in mptcp_sched_default_get_subflow() 86 int mptcp_init_sched(struct mptcp_sock *msk, in mptcp_init_sched() argument 95 msk->sched = sched; in mptcp_init_sched() 96 if (msk->sched->init) in mptcp_init_sched() 97 msk->sched->init(msk); in mptcp_init_sched() 99 pr_debug("sched=%s", msk->sched->name); in mptcp_init_sched() 104 void mptcp_release_sched(struct mptcp_sock *msk) in mptcp_release_sched() argument 124 mptcp_sched_get_send(struct mptcp_sock *msk) mptcp_sched_get_send() argument 153 mptcp_sched_get_retrans(struct mptcp_sock *msk) mptcp_sched_get_retrans() argument [all...] |
H A D | protocol.c | 34 struct mptcp_sock msk; member 53 static u64 mptcp_wnd_end(const struct mptcp_sock *msk) in mptcp_wnd_end() argument 55 return READ_ONCE(msk->wnd_end); in mptcp_wnd_end() 82 static int __mptcp_socket_create(struct mptcp_sock *msk) in __mptcp_socket_create() argument 85 struct sock *sk = (struct sock *)msk; in __mptcp_socket_create() 93 msk->scaling_ratio = tcp_sk(ssock->sk)->scaling_ratio; in __mptcp_socket_create() 94 WRITE_ONCE(msk->first, ssock->sk); in __mptcp_socket_create() 96 list_add(&subflow->node, &msk->conn_list); in __mptcp_socket_create() 99 subflow->subflow_id = msk->subflow_id++; in __mptcp_socket_create() 103 mptcp_sock_graft(msk in __mptcp_socket_create() 112 __mptcp_nmpc_sk(struct mptcp_sock *msk) __mptcp_nmpc_sk() argument 174 mptcp_ooo_try_coalesce(struct mptcp_sock *msk, struct sk_buff *to, struct sk_buff *from) mptcp_ooo_try_coalesce() argument 192 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_rmem_uncharge() local 225 mptcp_data_queue_ofo(struct mptcp_sock *msk, struct sk_buff *skb) mptcp_data_queue_ofo() argument 338 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_rmem_schedule() local 354 __mptcp_move_skb(struct mptcp_sock *msk, struct sock *ssk, struct sk_buff *skb, unsigned int offset, size_t copy_len) __mptcp_move_skb() argument 431 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_pending_data_fin_ack() local 440 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_check_data_fin_ack() local 462 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_pending_data_fin() local 535 mptcp_send_ack(struct mptcp_sock *msk) mptcp_send_ack() argument 566 mptcp_cleanup_rbuf(struct mptcp_sock *msk) mptcp_cleanup_rbuf() argument 587 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_check_data_fin() local 635 __mptcp_move_skbs_from_subflow(struct mptcp_sock *msk, struct sock *ssk, unsigned int *bytes) __mptcp_move_skbs_from_subflow() argument 728 __mptcp_ofo_queue(struct mptcp_sock *msk) __mptcp_ofo_queue() argument 806 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_error_report() local 816 move_skbs_to_msk(struct mptcp_sock *msk, struct sock *ssk) move_skbs_to_msk() argument 843 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_data_ready() local 872 mptcp_subflow_joined(struct mptcp_sock *msk, struct sock *ssk) mptcp_subflow_joined() argument 879 __mptcp_finish_join(struct mptcp_sock *msk, struct sock *ssk) __mptcp_finish_join() argument 903 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_flush_join_list() local 947 mptcp_subflow_recv_lookup(const struct mptcp_sock *msk) mptcp_subflow_recv_lookup() argument 980 mptcp_frag_can_collapse_to(const struct mptcp_sock *msk, const struct page_frag *pfrag, const struct mptcp_data_frag *df) mptcp_frag_can_collapse_to() argument 1007 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_clean_una() local 1080 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_enter_memory_pressure() local 1109 mptcp_carve_data_frag(const struct mptcp_sock *msk, struct page_frag *pfrag, int orig_offset) mptcp_carve_data_frag() argument 1135 mptcp_check_allowed_size(const struct mptcp_sock *msk, struct sock *ssk, u64 data_seq, int avail_size) mptcp_check_allowed_size() argument 1220 mptcp_update_infinite_map(struct mptcp_sock *msk, struct sock *ssk, struct mptcp_ext *mpext) mptcp_update_infinite_map() argument 1244 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_sendmsg_frag() local 1417 mptcp_subflow_get_send(struct mptcp_sock *msk) mptcp_subflow_get_send() argument 1497 mptcp_update_post_push(struct mptcp_sock *msk, struct mptcp_data_frag *dfrag, u32 sent) mptcp_update_post_push() argument 1536 struct mptcp_sock *msk = mptcp_sk(sk); __subflow_push_pending() local 1578 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_push_pending() local 1642 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_subflow_push_pending() local 1722 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_sendmsg_fastopen() local 1776 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_sendmsg() local 1900 __mptcp_recvmsg_mskq(struct mptcp_sock *msk, struct msghdr *msg, size_t len, int flags, struct scm_timestamping_internal *tss, int *cmsg_flags) __mptcp_recvmsg_mskq() argument 1958 mptcp_rcv_space_adjust(struct mptcp_sock *msk, int copied) mptcp_rcv_space_adjust() argument 2055 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_update_rmem() local 2067 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_splice_receive_queue() local 2072 __mptcp_move_skbs(struct mptcp_sock *msk) __mptcp_move_skbs() argument 2117 const struct mptcp_sock *msk = mptcp_sk(sk); mptcp_inq_hint() local 2139 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_recvmsg() local 2256 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_retransmit_timer() local 2284 mptcp_subflow_get_retrans(struct mptcp_sock *msk) mptcp_subflow_get_retrans() argument 2323 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_retransmit_pending_data() local 2393 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_close_ssk() local 2504 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_close_subflow() local 2533 mptcp_check_fastclose(struct mptcp_sock *msk) mptcp_check_fastclose() argument 2584 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_retrans() local 2664 mptcp_reset_tout_timer(struct mptcp_sock *msk, unsigned long fail_tout) mptcp_reset_tout_timer() argument 2683 mptcp_mp_fail_no_response(struct mptcp_sock *msk) mptcp_mp_fail_no_response() argument 2702 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_do_fastclose() local 2712 struct mptcp_sock *msk = container_of(work, struct mptcp_sock, work); mptcp_worker() local 2757 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_init_sock() local 2830 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_clear_xmit() local 2840 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_cancel_work() local 2929 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_check_send_data_fin() local 2953 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_wr_shutdown() local 2968 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_destroy_sock() local 2996 mptcp_check_readable(struct mptcp_sock *msk) mptcp_check_readable() argument 3031 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_close() local 3113 mptcp_copy_inaddrs(struct sock *msk, const struct sock *ssk) mptcp_copy_inaddrs() argument 3138 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_disconnect() local 3242 struct mptcp_sock *msk; mptcp_sk_clone_init() local 3314 mptcp_rcv_space_init(struct mptcp_sock *msk, const struct sock *ssk) mptcp_rcv_space_init() argument 3369 mptcp_destroy_common(struct mptcp_sock *msk, unsigned int flags) mptcp_destroy_common() argument 3399 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_destroy() local 3437 struct mptcp_sock *msk = mptcp_sk(sk); global() variable 3555 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_get_port() local 3567 struct mptcp_sock *msk; mptcp_finish_connect() local 3599 struct mptcp_sock *msk = mptcp_sk(subflow->conn); mptcp_finish_join() local 3661 mptcp_ioctl_outq(const struct mptcp_sock *msk, u64 v) mptcp_ioctl_outq() argument 3692 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_ioctl() local 3722 mptcp_subflow_early_fallback(struct mptcp_sock *msk, struct mptcp_subflow_context *subflow) mptcp_subflow_early_fallback() argument 3732 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_connect() local 3834 struct mptcp_sock *msk = mptcp_sk(sock->sk); mptcp_bind() local 3861 struct mptcp_sock *msk = mptcp_sk(sock->sk); mptcp_listen() local 3902 struct mptcp_sock *msk = mptcp_sk(sock->sk); mptcp_stream_accept() local 3923 struct mptcp_sock *msk = mptcp_sk(newsk); mptcp_stream_accept() local 3954 mptcp_check_writeable(struct mptcp_sock *msk) mptcp_check_writeable() argument 3973 struct mptcp_sock *msk; mptcp_poll() local [all...] |
H A D | sockopt.c | 20 static struct sock *__mptcp_tcp_fallback(struct mptcp_sock *msk) in __mptcp_tcp_fallback() argument 22 msk_owned_by_me(msk); in __mptcp_tcp_fallback() 24 if (likely(!__mptcp_check_fallback(msk))) in __mptcp_tcp_fallback() 27 return msk->first; in __mptcp_tcp_fallback() 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() 51 static void sockopt_seq_inc(struct mptcp_sock *msk) in sockopt_seq_inc() argument 53 u32 seq = (msk->setsockopt_seq + 1) & 0x00ffffff; in sockopt_seq_inc() 55 msk->setsockopt_seq = sockopt_seq_reset((struct sock *)msk) in sockopt_seq_inc() 58 mptcp_get_int_option(struct mptcp_sock *msk, sockptr_t optval, unsigned int optlen, int *val) mptcp_get_int_option() argument 70 mptcp_sol_socket_sync_intval(struct mptcp_sock *msk, int optname, int val) mptcp_sol_socket_sync_intval() argument 123 mptcp_sol_socket_intval(struct mptcp_sock *msk, int optname, int val) mptcp_sol_socket_intval() argument 138 mptcp_so_incoming_cpu(struct mptcp_sock *msk, int val) mptcp_so_incoming_cpu() argument 147 mptcp_setsockopt_sol_socket_tstamp(struct mptcp_sock *msk, int optname, int val) mptcp_setsockopt_sol_socket_tstamp() argument 172 mptcp_setsockopt_sol_socket_int(struct mptcp_sock *msk, int optname, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_sol_socket_int() argument 207 mptcp_setsockopt_sol_socket_timestamping(struct mptcp_sock *msk, int optname, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_sol_socket_timestamping() argument 251 mptcp_setsockopt_sol_socket_linger(struct mptcp_sock *msk, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_sol_socket_linger() argument 292 mptcp_setsockopt_sol_socket(struct mptcp_sock *msk, int optname, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_sol_socket() argument 389 mptcp_setsockopt_v6(struct mptcp_sock *msk, int optname, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_v6() argument 583 mptcp_setsockopt_sol_tcp_congestion(struct mptcp_sock *msk, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_sol_tcp_congestion() argument 626 mptcp_setsockopt_sol_tcp_cork(struct mptcp_sock *msk, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_sol_tcp_cork() argument 656 mptcp_setsockopt_sol_tcp_nodelay(struct mptcp_sock *msk, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_sol_tcp_nodelay() argument 686 mptcp_setsockopt_sol_ip_set_transparent(struct mptcp_sock *msk, int optname, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_sol_ip_set_transparent() argument 724 mptcp_setsockopt_v4_set_tos(struct mptcp_sock *msk, int optname, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_v4_set_tos() argument 752 mptcp_setsockopt_v4(struct mptcp_sock *msk, int optname, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_v4() argument 766 mptcp_setsockopt_first_sf_only(struct mptcp_sock *msk, int level, int optname, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_first_sf_only() argument 788 mptcp_setsockopt_sol_tcp(struct mptcp_sock *msk, int optname, sockptr_t optval, unsigned int optlen) mptcp_setsockopt_sol_tcp() argument 832 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_setsockopt() local 867 mptcp_getsockopt_first_sf_only(struct mptcp_sock *msk, int level, int optname, char __user *optval, int __user *optlen) mptcp_getsockopt_first_sf_only() argument 894 mptcp_diag_fill_info(struct mptcp_sock *msk, struct mptcp_info *info) mptcp_diag_fill_info() argument 945 mptcp_getsockopt_info(struct mptcp_sock *msk, char __user *optval, int __user *optlen) mptcp_getsockopt_info() argument 1025 mptcp_getsockopt_tcpinfo(struct mptcp_sock *msk, char __user *optval, int __user *optlen) mptcp_getsockopt_tcpinfo() argument 1117 mptcp_getsockopt_subflow_addrs(struct mptcp_sock *msk, char __user *optval, int __user *optlen) mptcp_getsockopt_subflow_addrs() argument 1215 mptcp_getsockopt_full_info(struct mptcp_sock *msk, char __user *optval, int __user *optlen) mptcp_getsockopt_full_info() argument 1289 mptcp_put_int_option(struct mptcp_sock *msk, char __user *optval, int __user *optlen, int val) mptcp_put_int_option() argument 1318 mptcp_getsockopt_sol_tcp(struct mptcp_sock *msk, int optname, char __user *optval, int __user *optlen) mptcp_getsockopt_sol_tcp() argument 1343 mptcp_getsockopt_v4(struct mptcp_sock *msk, int optname, char __user *optval, int __user *optlen) mptcp_getsockopt_v4() argument 1356 mptcp_getsockopt_sol_mptcp(struct mptcp_sock *msk, int optname, char __user *optval, int __user *optlen) mptcp_getsockopt_sol_mptcp() argument 1376 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_getsockopt() local 1402 sync_socket_options(struct mptcp_sock *msk, struct sock *ssk) sync_socket_options() argument 1453 __mptcp_sockopt_sync(struct mptcp_sock *msk, struct sock *ssk) __mptcp_sockopt_sync() argument 1462 mptcp_sockopt_sync(struct mptcp_sock *msk, struct sock *ssk) mptcp_sockopt_sync() argument 1475 mptcp_sockopt_sync_locked(struct mptcp_sock *msk, struct sock *ssk) mptcp_sockopt_sync_locked() argument [all...] |
H A D | pm_netlink.c | 57 pm_nl_get_pernet_from_msk(const struct mptcp_sock *msk) in pm_nl_get_pernet_from_msk() argument 59 return pm_nl_get_pernet(sock_net((struct sock *)msk)); in pm_nl_get_pernet_from_msk() 153 const struct mptcp_sock *msk) in select_local_address() 157 msk_owned_by_me(msk); in select_local_address() 164 if (!test_bit(entry->addr.id, msk->pm.id_avail_bitmap)) in select_local_address() 175 select_signal_address(struct pm_nl_pernet *pernet, const struct mptcp_sock *msk) in select_signal_address() argument 182 * Note: removal from the local address list during the msk life-cycle in select_signal_address() 186 if (!test_bit(entry->addr.id, msk->pm.id_avail_bitmap)) in select_signal_address() 199 unsigned int mptcp_pm_get_add_addr_signal_max(const struct mptcp_sock *msk) in mptcp_pm_get_add_addr_signal_max() argument 201 const struct pm_nl_pernet *pernet = pm_nl_get_pernet_from_msk(msk); in mptcp_pm_get_add_addr_signal_max() 152 select_local_address(const struct pm_nl_pernet *pernet, const struct mptcp_sock *msk) select_local_address() argument 207 mptcp_pm_get_add_addr_accept_max(const struct mptcp_sock *msk) mptcp_pm_get_add_addr_accept_max() argument 215 mptcp_pm_get_subflows_max(const struct mptcp_sock *msk) mptcp_pm_get_subflows_max() argument 223 mptcp_pm_get_local_addr_max(const struct mptcp_sock *msk) mptcp_pm_get_local_addr_max() argument 231 mptcp_pm_nl_check_work_pending(struct mptcp_sock *msk) mptcp_pm_nl_check_work_pending() argument 245 mptcp_lookup_anno_list_by_saddr(const struct mptcp_sock *msk, const struct mptcp_addr_info *addr) mptcp_lookup_anno_list_by_saddr() argument 260 mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk, const struct sock *sk) mptcp_pm_sport_in_anno_list() argument 284 struct mptcp_sock *msk = entry->sock; mptcp_pm_add_timer() local 326 mptcp_pm_del_add_timer(struct mptcp_sock *msk, const struct mptcp_addr_info *addr, bool check_id) mptcp_pm_del_add_timer() argument 344 mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, const struct mptcp_addr_info *addr) mptcp_pm_alloc_anno_list() argument 381 mptcp_pm_free_anno_list(struct mptcp_sock *msk) mptcp_pm_free_anno_list() argument 402 fill_remote_addresses_vec(struct mptcp_sock *msk, struct mptcp_addr_info *local, bool fullmesh, struct mptcp_addr_info *addrs) fill_remote_addresses_vec() argument 467 __mptcp_pm_send_ack(struct mptcp_sock *msk, struct mptcp_subflow_context *subflow, bool prio, bool backup) __mptcp_pm_send_ack() argument 487 mptcp_pm_send_ack(struct mptcp_sock *msk, struct mptcp_subflow_context *subflow, bool prio, bool backup) mptcp_pm_send_ack() argument 522 mptcp_pm_create_subflow_or_signal_addr(struct mptcp_sock *msk) mptcp_pm_create_subflow_or_signal_addr() argument 616 mptcp_pm_nl_fully_established(struct mptcp_sock *msk) mptcp_pm_nl_fully_established() argument 621 mptcp_pm_nl_subflow_established(struct mptcp_sock *msk) mptcp_pm_nl_subflow_established() argument 629 fill_local_addresses_vec(struct mptcp_sock *msk, struct mptcp_addr_info *remote, struct mptcp_addr_info *addrs) fill_local_addresses_vec() argument 681 mptcp_pm_nl_add_addr_received(struct mptcp_sock *msk) mptcp_pm_nl_add_addr_received() argument 726 mptcp_pm_nl_addr_send_ack(struct mptcp_sock *msk) mptcp_pm_nl_addr_send_ack() argument 742 mptcp_pm_nl_mp_prio_send_ack(struct mptcp_sock *msk, struct mptcp_addr_info *addr, struct mptcp_addr_info *rem, u8 bkup) mptcp_pm_nl_mp_prio_send_ack() argument 772 mptcp_local_id_match(const struct mptcp_sock *msk, u8 local_id, u8 id) mptcp_local_id_match() argument 777 mptcp_pm_nl_rm_addr_or_subflow(struct mptcp_sock *msk, const struct mptcp_rm_list *rm_list, enum linux_mptcp_mib_field rm_type) mptcp_pm_nl_rm_addr_or_subflow() argument 844 mptcp_pm_nl_rm_addr_received(struct mptcp_sock *msk) mptcp_pm_nl_rm_addr_received() argument 849 mptcp_pm_nl_rm_subflow_received(struct mptcp_sock *msk, const struct mptcp_rm_list *rm_list) mptcp_pm_nl_rm_subflow_received() argument 855 mptcp_pm_nl_work(struct mptcp_sock *msk) mptcp_pm_nl_work() argument 1069 mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, struct mptcp_addr_info *skc) mptcp_pm_nl_get_local_id() argument 1139 mptcp_pm_nl_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk) mptcp_pm_nl_subflow_chk_stale() argument 1291 struct mptcp_sock *msk; mptcp_nl_add_subflow_or_signal_addr() local 1383 mptcp_pm_nl_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned int id, u8 *flags, int *ifindex) mptcp_pm_nl_get_flags_and_ifindex_by_id() argument 1401 remove_anno_list_by_saddr(struct mptcp_sock *msk, const struct mptcp_addr_info *addr) remove_anno_list_by_saddr() argument 1416 mptcp_pm_remove_anno_addr(struct mptcp_sock *msk, const struct mptcp_addr_info *addr, bool force) mptcp_pm_remove_anno_addr() argument 1440 struct mptcp_sock *msk; mptcp_nl_remove_subflow_and_signal_addr() local 1479 struct mptcp_sock *msk; mptcp_nl_remove_id_zero_address() local 1557 mptcp_pm_remove_addrs(struct mptcp_sock *msk, struct list_head *rm_list) mptcp_pm_remove_addrs() argument 1576 mptcp_pm_remove_addrs_and_subflows(struct mptcp_sock *msk, struct list_head *rm_list) mptcp_pm_remove_addrs_and_subflows() argument 1605 struct mptcp_sock *msk; mptcp_nl_remove_addrs_list() local 1868 mptcp_pm_nl_fullmesh(struct mptcp_sock *msk, struct mptcp_addr_info *addr) mptcp_pm_nl_fullmesh() argument 1886 struct mptcp_sock *msk; mptcp_nl_set_flags() local 1978 mptcp_userspace_pm_active(const struct mptcp_sock *msk) mptcp_userspace_pm_active() argument 2034 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 2067 mptcp_event_sub_established(struct sk_buff *skb, const struct mptcp_sock *msk, const struct sock *ssk) mptcp_event_sub_established() argument 2074 mptcp_event_sub_closed(struct sk_buff *skb, const struct mptcp_sock *msk, const struct sock *ssk) mptcp_event_sub_closed() argument 2096 mptcp_event_created(struct sk_buff *skb, const struct mptcp_sock *msk, const struct sock *ssk) mptcp_event_created() argument 2111 mptcp_event_addr_removed(const struct mptcp_sock *msk, uint8_t id) mptcp_event_addr_removed() argument 2146 struct mptcp_sock *msk = mptcp_sk(subflow->conn); mptcp_event_addr_announced() local 2251 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 | token_test.c | 54 struct mptcp_sock *msk; in build_msk() local 56 msk = kunit_kzalloc(test, sizeof(struct mptcp_sock), GFP_USER); in build_msk() 57 KUNIT_EXPECT_NOT_ERR_OR_NULL(test, msk); in build_msk() 58 refcount_set(&((struct sock *)msk)->sk_refcnt, 1); in build_msk() 59 sock_net_set((struct sock *)msk, &init_net); in build_msk() 62 ((struct sock *)msk)->sk_prot = &tcp_prot; in build_msk() 63 return msk; in build_msk() 70 struct mptcp_sock *msk = build_msk(test); in mptcp_token_test_msk_basic() local 75 ctx->conn = (struct sock *)msk; in mptcp_token_test_msk_basic() 76 sk = (struct sock *)msk; in mptcp_token_test_msk_basic() 92 struct mptcp_sock *msk = build_msk(test); mptcp_token_test_accept() local 111 struct mptcp_sock *msk = build_msk(test); mptcp_token_test_destroyed() local [all...] |
H A D | protocol.h | 296 * protected by the msk data lock 341 static inline void msk_owned_by_me(const struct mptcp_sock *msk) in msk_owned_by_me() argument 343 sock_owned_by_me((const struct sock *)msk); in msk_owned_by_me() 348 /* the msk socket don't use the backlog, also account for the bulk 368 const struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_send_head() local 370 return READ_ONCE(msk->first_pending); in mptcp_send_head() 375 struct mptcp_sock *msk = mptcp_sk(sk); in mptcp_send_next() local 378 cur = msk->first_pending; in mptcp_send_next() 379 return list_is_last(&cur->list, &msk->rtx_queue) ? NULL : in mptcp_send_next() 385 const struct mptcp_sock *msk in mptcp_pending_tail() local 398 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_rtx_head() local 429 struct mptcp_sock *msk; global() member 769 mptcp_data_fin_enabled(const struct mptcp_sock *msk) mptcp_data_fin_enabled() argument 948 mptcp_pm_should_add_signal(struct mptcp_sock *msk) mptcp_pm_should_add_signal() argument 954 mptcp_pm_should_add_signal_addr(struct mptcp_sock *msk) mptcp_pm_should_add_signal_addr() argument 959 mptcp_pm_should_add_signal_echo(struct mptcp_sock *msk) mptcp_pm_should_add_signal_echo() argument 964 mptcp_pm_should_rm_signal(struct mptcp_sock *msk) mptcp_pm_should_rm_signal() argument 969 mptcp_pm_is_userspace(const struct mptcp_sock *msk) mptcp_pm_is_userspace() argument 974 mptcp_pm_is_kernel(const struct mptcp_sock *msk) mptcp_pm_is_kernel() argument 1031 __mptcp_pm_close_subflow(struct mptcp_sock *msk) __mptcp_pm_close_subflow() argument 1037 mptcp_pm_close_subflow(struct mptcp_sock *msk) mptcp_pm_close_subflow() argument 1054 __mptcp_check_fallback(const struct mptcp_sock *msk) __mptcp_check_fallback() argument 1062 struct mptcp_sock *msk = mptcp_sk(subflow->conn); mptcp_check_fallback() local 1067 __mptcp_do_fallback(struct mptcp_sock *msk) __mptcp_do_fallback() argument 1080 struct mptcp_sock *msk; mptcp_do_fallback() local [all...] |
H A D | subflow.c | 45 if (subflow_req->msk) in subflow_req_destructor() 46 sock_put((struct sock *)subflow_req->msk); in subflow_req_destructor() 62 static bool mptcp_can_accept_new_subflow(const struct mptcp_sock *msk) in mptcp_can_accept_new_subflow() argument 64 return mptcp_is_fully_established((void *)msk) && in mptcp_can_accept_new_subflow() 65 ((mptcp_pm_is_userspace(msk) && in mptcp_can_accept_new_subflow() 66 mptcp_userspace_pm_active(msk)) || in mptcp_can_accept_new_subflow() 67 READ_ONCE(msk->pm.accept_subflow)); in mptcp_can_accept_new_subflow() 73 struct mptcp_sock *msk = subflow_req->msk; in subflow_req_create_thmac() local 78 subflow_generate_hmac(msk in subflow_req_create_thmac() 88 struct mptcp_sock *msk; subflow_token_join_request() local 119 subflow_use_different_sport(struct mptcp_sock *msk, const struct sock *sk) subflow_use_different_sport() argument 417 subflow_use_different_dport(struct mptcp_sock *msk, const struct sock *sk) subflow_use_different_dport() argument 425 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_sync_state() local 444 subflow_set_remote_key(struct mptcp_sock *msk, struct mptcp_subflow_context *subflow, const struct mptcp_options_received *mp_opt) subflow_set_remote_key() argument 469 struct mptcp_sock *msk = mptcp_sk(sk); mptcp_propagate_state() local 495 struct mptcp_sock *msk; subflow_finish_connect() local 587 struct mptcp_sock *msk = mptcp_sk(subflow->conn); subflow_chk_local_id() local 710 struct mptcp_sock *msk; subflow_hmac_valid() local 754 __mptcp_subflow_fully_established(struct mptcp_sock *msk, struct mptcp_subflow_context *subflow, const struct mptcp_options_received *mp_opt) __mptcp_subflow_fully_established() argument 1043 get_mapping_status(struct sock *ssk, struct mptcp_sock *msk) get_mapping_status() argument 1208 subflow_sched_work_if_closed(struct mptcp_sock *msk, struct sock *ssk) subflow_sched_work_if_closed() argument 1220 struct mptcp_sock *msk = mptcp_sk(subflow->conn); subflow_can_fallback() local 1230 mptcp_subflow_fail(struct mptcp_sock *msk, struct sock *ssk) mptcp_subflow_fail() argument 1261 struct mptcp_sock *msk; subflow_check_data_avail() local 1414 struct mptcp_sock *msk; subflow_data_ready() local 1511 struct mptcp_sock *msk = mptcp_sk(sk); __mptcp_subflow_connect() local 1751 struct mptcp_sock *msk; subflow_state_change() local [all...] |
H A D | token.c | 154 struct mptcp_sock *msk = mptcp_sk(subflow->conn); in mptcp_token_new_connect() local 175 WRITE_ONCE(msk->token, subflow->token); in mptcp_token_new_connect() 176 __sk_nulls_add_node_rcu((struct sock *)msk, &bucket->msk_chain); in mptcp_token_new_connect() 186 * @msk: the just cloned socket linked to the new connection 192 struct mptcp_sock *msk) in mptcp_token_accept() 195 struct sock *sk = (struct sock *)msk; in mptcp_token_accept() 206 __sk_nulls_add_node_rcu((struct sock *)msk, &bucket->msk_chain); in mptcp_token_accept() 214 struct mptcp_sock *msk; in mptcp_token_exists() local 222 msk = mptcp_sk(sk); in mptcp_token_exists() 223 if (READ_ONCE(msk in mptcp_token_exists() 191 mptcp_token_accept(struct mptcp_subflow_request_sock *req, struct mptcp_sock *msk) mptcp_token_accept() argument 250 struct mptcp_sock *msk; mptcp_token_get_sock() local 375 mptcp_token_destroy(struct mptcp_sock *msk) mptcp_token_destroy() argument [all...] |
/kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
H A D | feature-fixups.h | 57 #define MAKE_FTR_SECTION_ENTRY(msk, val, label, sect) \ 63 FTR_ENTRY_LONG msk; \ 77 #define END_FTR_SECTION_NESTED(msk, val, label) \ 79 MAKE_FTR_SECTION_ENTRY(msk, val, label, __ftr_fixup) 81 #define END_FTR_SECTION(msk, val) \ 82 END_FTR_SECTION_NESTED(msk, val, 97) 84 #define END_FTR_SECTION_NESTED_IFSET(msk, label) \ 85 END_FTR_SECTION_NESTED((msk), (msk), label) 87 #define END_FTR_SECTION_IFSET(msk) END_FTR_SECTIO [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/powerpc/primitives/asm/ |
H A D | feature-fixups.h | 57 #define MAKE_FTR_SECTION_ENTRY(msk, val, label, sect) \ 63 FTR_ENTRY_LONG msk; \ 77 #define END_FTR_SECTION_NESTED(msk, val, label) \ 79 MAKE_FTR_SECTION_ENTRY(msk, val, label, __ftr_fixup) 81 #define END_FTR_SECTION(msk, val) \ 82 END_FTR_SECTION_NESTED(msk, val, 97) 84 #define END_FTR_SECTION_NESTED_IFSET(msk, label) \ 85 END_FTR_SECTION_NESTED((msk), (msk), label) 87 #define END_FTR_SECTION_IFSET(msk) END_FTR_SECTIO [all...] |
/kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
H A D | feature-fixups.h | 39 #define MAKE_FTR_SECTION_ENTRY(msk, val, label, sect) \ 45 FTR_ENTRY_LONG msk; \ 61 #define END_FTR_SECTION_NESTED(msk, val, label) \ 63 MAKE_FTR_SECTION_ENTRY(msk, val, label, __ftr_fixup) 65 #define END_FTR_SECTION(msk, val) \ 66 END_FTR_SECTION_NESTED(msk, val, 97) 68 #define END_FTR_SECTION_NESTED_IFSET(msk, label) \ 69 END_FTR_SECTION_NESTED((msk), (msk), label) 71 #define END_FTR_SECTION_IFSET(msk) END_FTR_SECTIO [all...] |
/kernel/linux/linux-5.10/tools/testing/selftests/powerpc/primitives/asm/ |
H A D | feature-fixups.h | 39 #define MAKE_FTR_SECTION_ENTRY(msk, val, label, sect) \ 45 FTR_ENTRY_LONG msk; \ 61 #define END_FTR_SECTION_NESTED(msk, val, label) \ 63 MAKE_FTR_SECTION_ENTRY(msk, val, label, __ftr_fixup) 65 #define END_FTR_SECTION(msk, val) \ 66 END_FTR_SECTION_NESTED(msk, val, 97) 68 #define END_FTR_SECTION_NESTED_IFSET(msk, label) \ 69 END_FTR_SECTION_NESTED((msk), (msk), label) 71 #define END_FTR_SECTION_IFSET(msk) END_FTR_SECTIO [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/netronome/nfp/flower/ |
H A D | match.c | 12 struct nfp_flower_meta_tci *msk, in nfp_flower_compile_meta_tci() 18 memset(msk, 0, sizeof(struct nfp_flower_meta_tci)); in nfp_flower_compile_meta_tci() 24 msk->nfp_flow_key_layer = key_type; in nfp_flower_compile_meta_tci() 25 msk->mask_id = ~0; in nfp_flower_compile_meta_tci() 44 msk->tci = cpu_to_be16(tmp_tci); in nfp_flower_compile_meta_tci() 79 struct nfp_flower_mac_mpls *msk, struct flow_rule *rule, in nfp_flower_compile_mac() 83 memset(msk, 0, sizeof(struct nfp_flower_mac_mpls)); in nfp_flower_compile_mac() 92 ether_addr_copy(msk->mac_dst, &match.mask->dst[0]); in nfp_flower_compile_mac() 93 ether_addr_copy(msk->mac_src, &match.mask->src[0]); in nfp_flower_compile_mac() 124 msk in nfp_flower_compile_mac() 11 nfp_flower_compile_meta_tci(struct nfp_flower_meta_tci *ext, struct nfp_flower_meta_tci *msk, struct flow_rule *rule, u8 key_type, bool qinq_sup) nfp_flower_compile_meta_tci() argument 78 nfp_flower_compile_mac(struct nfp_flower_mac_mpls *ext, struct nfp_flower_mac_mpls *msk, struct flow_rule *rule, struct netlink_ext_ack *extack) nfp_flower_compile_mac() argument 144 nfp_flower_compile_tport(struct nfp_flower_tp_ports *ext, struct nfp_flower_tp_ports *msk, struct flow_rule *rule) nfp_flower_compile_tport() argument 163 nfp_flower_compile_ip_ext(struct nfp_flower_ip_ext *ext, struct nfp_flower_ip_ext *msk, struct flow_rule *rule) nfp_flower_compile_ip_ext() argument 256 nfp_flower_compile_vlan(struct nfp_flower_vlan *ext, struct nfp_flower_vlan *msk, struct flow_rule *rule) nfp_flower_compile_vlan() argument 278 nfp_flower_compile_ipv4(struct nfp_flower_ipv4 *ext, struct nfp_flower_ipv4 *msk, struct flow_rule *rule) nfp_flower_compile_ipv4() argument 298 nfp_flower_compile_ipv6(struct nfp_flower_ipv6 *ext, struct nfp_flower_ipv6 *msk, struct flow_rule *rule) nfp_flower_compile_ipv6() argument 318 nfp_flower_compile_geneve_opt(void *ext, void *msk, struct flow_rule *rule) nfp_flower_compile_geneve_opt() argument 330 nfp_flower_compile_tun_ipv4_addrs(struct nfp_flower_tun_ipv4 *ext, struct nfp_flower_tun_ipv4 *msk, struct flow_rule *rule) nfp_flower_compile_tun_ipv4_addrs() argument 346 nfp_flower_compile_tun_ipv6_addrs(struct nfp_flower_tun_ipv6 *ext, struct nfp_flower_tun_ipv6 *msk, struct flow_rule *rule) nfp_flower_compile_tun_ipv6_addrs() argument 362 nfp_flower_compile_tun_ip_ext(struct nfp_flower_tun_ip_ext *ext, struct nfp_flower_tun_ip_ext *msk, struct flow_rule *rule) nfp_flower_compile_tun_ip_ext() argument 410 nfp_flower_compile_ipv4_gre_tun(struct nfp_flower_ipv4_gre_tun *ext, struct nfp_flower_ipv4_gre_tun *msk, struct flow_rule *rule) nfp_flower_compile_ipv4_gre_tun() argument 428 nfp_flower_compile_ipv4_udp_tun(struct nfp_flower_ipv4_udp_tun *ext, struct nfp_flower_ipv4_udp_tun *msk, struct flow_rule *rule) nfp_flower_compile_ipv4_udp_tun() argument 441 nfp_flower_compile_ipv6_udp_tun(struct nfp_flower_ipv6_udp_tun *ext, struct nfp_flower_ipv6_udp_tun *msk, struct flow_rule *rule) nfp_flower_compile_ipv6_udp_tun() argument 454 nfp_flower_compile_ipv6_gre_tun(struct nfp_flower_ipv6_gre_tun *ext, struct nfp_flower_ipv6_gre_tun *msk, struct flow_rule *rule) nfp_flower_compile_ipv6_gre_tun() argument 486 u8 *msk; nfp_flower_compile_flow_match() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/netronome/nfp/flower/ |
H A D | match.c | 12 struct nfp_flower_meta_tci *msk, u8 key_type) in nfp_flower_compile_meta() 18 msk->nfp_flow_key_layer = key_type; in nfp_flower_compile_meta() 19 msk->mask_id = ~0; in nfp_flower_compile_meta() 24 struct nfp_flower_meta_tci *msk, in nfp_flower_compile_tci() 47 msk->tci |= cpu_to_be16(msk_tci); in nfp_flower_compile_tci() 53 struct nfp_flower_meta_tci *msk, in nfp_flower_compile_meta_tci() 57 memset(msk, 0, sizeof(struct nfp_flower_meta_tci)); in nfp_flower_compile_meta_tci() 59 nfp_flower_compile_meta(ext, msk, key_type); in nfp_flower_compile_meta_tci() 62 nfp_flower_compile_tci(ext, msk, rule); in nfp_flower_compile_meta_tci() 96 struct nfp_flower_mac_mpls *msk, in nfp_flower_compile_mac() 11 nfp_flower_compile_meta(struct nfp_flower_meta_tci *ext, struct nfp_flower_meta_tci *msk, u8 key_type) nfp_flower_compile_meta() argument 23 nfp_flower_compile_tci(struct nfp_flower_meta_tci *ext, struct nfp_flower_meta_tci *msk, struct flow_rule *rule) nfp_flower_compile_tci() argument 52 nfp_flower_compile_meta_tci(struct nfp_flower_meta_tci *ext, struct nfp_flower_meta_tci *msk, struct flow_rule *rule, u8 key_type, bool qinq_sup) nfp_flower_compile_meta_tci() argument 95 nfp_flower_compile_mac(struct nfp_flower_mac_mpls *ext, struct nfp_flower_mac_mpls *msk, struct flow_rule *rule) nfp_flower_compile_mac() argument 119 nfp_flower_compile_mpls(struct nfp_flower_mac_mpls *ext, struct nfp_flower_mac_mpls *msk, struct flow_rule *rule, struct netlink_ext_ack *extack) nfp_flower_compile_mpls() argument 174 nfp_flower_compile_mac_mpls(struct nfp_flower_mac_mpls *ext, struct nfp_flower_mac_mpls *msk, struct flow_rule *rule, struct netlink_ext_ack *extack) nfp_flower_compile_mac_mpls() argument 188 nfp_flower_compile_tport(struct nfp_flower_tp_ports *ext, struct nfp_flower_tp_ports *msk, struct flow_rule *rule) nfp_flower_compile_tport() argument 209 nfp_flower_compile_ip_ext(struct nfp_flower_ip_ext *ext, struct nfp_flower_ip_ext *msk, struct flow_rule *rule) nfp_flower_compile_ip_ext() argument 285 nfp_flower_fill_vlan(struct flow_match_vlan *match, struct nfp_flower_vlan *ext, struct nfp_flower_vlan *msk, bool outer_vlan) nfp_flower_fill_vlan() argument 318 nfp_flower_compile_vlan(struct nfp_flower_vlan *ext, struct nfp_flower_vlan *msk, struct flow_rule *rule) nfp_flower_compile_vlan() argument 335 nfp_flower_compile_ipv4(struct nfp_flower_ipv4 *ext, struct nfp_flower_ipv4 *msk, struct flow_rule *rule) nfp_flower_compile_ipv4() argument 357 nfp_flower_compile_ipv6(struct nfp_flower_ipv6 *ext, struct nfp_flower_ipv6 *msk, struct flow_rule *rule) nfp_flower_compile_ipv6() argument 385 nfp_flower_compile_geneve_opt(u8 *ext, u8 *msk, struct flow_rule *rule) nfp_flower_compile_geneve_opt() argument 401 nfp_flower_compile_tun_ipv4_addrs(struct nfp_flower_tun_ipv4 *ext, struct nfp_flower_tun_ipv4 *msk, struct flow_rule *rule) nfp_flower_compile_tun_ipv4_addrs() argument 417 nfp_flower_compile_tun_ipv6_addrs(struct nfp_flower_tun_ipv6 *ext, struct nfp_flower_tun_ipv6 *msk, struct flow_rule *rule) nfp_flower_compile_tun_ipv6_addrs() argument 438 nfp_flower_compile_tun_ip_ext(struct nfp_flower_tun_ip_ext *ext, struct nfp_flower_tun_ip_ext *msk, struct flow_rule *rule) nfp_flower_compile_tun_ip_ext() argument 487 nfp_flower_compile_ipv4_gre_tun(struct nfp_flower_ipv4_gre_tun *ext, struct nfp_flower_ipv4_gre_tun *msk, struct flow_rule *rule) nfp_flower_compile_ipv4_gre_tun() argument 502 nfp_flower_compile_ipv4_udp_tun(struct nfp_flower_ipv4_udp_tun *ext, struct nfp_flower_ipv4_udp_tun *msk, struct flow_rule *rule) nfp_flower_compile_ipv4_udp_tun() argument 512 nfp_flower_compile_ipv6_udp_tun(struct nfp_flower_ipv6_udp_tun *ext, struct nfp_flower_ipv6_udp_tun *msk, struct flow_rule *rule) nfp_flower_compile_ipv6_udp_tun() argument 522 nfp_flower_compile_ipv6_gre_tun(struct nfp_flower_ipv6_gre_tun *ext, struct nfp_flower_ipv6_gre_tun *msk, struct flow_rule *rule) nfp_flower_compile_ipv6_gre_tun() argument 550 u8 *msk; nfp_flower_compile_flow_match() local [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/ |
H A D | mptcp_sock.c | 32 struct mptcp_sock *msk; in _sockops() local 60 msk = bpf_skc_to_mptcp_sock(sk); in _sockops() 61 if (!msk) in _sockops() 64 storage = bpf_sk_storage_get(&socket_storage_map, msk, 0, in _sockops() 69 storage->token = msk->token; in _sockops() 70 __builtin_memcpy(storage->ca_name, msk->ca_name, TCP_CA_NAME_MAX); in _sockops() 71 storage->first = msk->first; in _sockops() 81 int BPF_PROG(trace_mptcp_pm_new_connection, struct mptcp_sock *msk, in BPF_PROG() argument 85 token = msk->token; in BPF_PROG()
|