/linux-6.15/tools/testing/selftests/net/mptcp/ |
D | mptcp_join.sh | 1817 fail_test "got $cnt1:$cnt2 subflows expected $subflow_nr" 1861 # $1: subflows in ns1 ; $2: subflows in ns2 1862 # number of all subflows, including the initial subflow. 1878 # if not, count the TCP connections that are in fact MPTCP subflows 1885 fail_test "got subflows $cnt1:$cnt2 expected $1:$2" 1978 # multiple subflows 1979 if reset "multiple subflows"; then 1988 # multiple subflows limited by server 1989 if reset "multiple subflows, limited by server"; then 2023 # multiple subflows, with subflow creation error [all …]
|
D | pm_netlink.sh | 51 local subflows="${2}" 55 printf "add_addr_accepted %d subflows %d \n" "${accept}" "${subflows}" 57 printf "accept %d\nsubflows %d\n" "${accept}" "${subflows}" 198 check "get_limits" "${default_limits}" "subflows above hard limit"
|
D | mptcp_lib.sh | 615 local subflows=${3} 618 ip -n "${ns}" mptcp limits set add_addr_accepted "${addrs}" subflows "${subflows}" 620 ip netns exec "${ns}" ./pm_nl_ctl limits "${addrs}" "${subflows}"
|
D | mptcp_diag.c | 139 printf("subflows: %u\n", info->mptcpi_subflows); in print_info_msg()
|
D | mptcp_sockopt.sh | 54 # just to debug: check we have multiple subflows connection requests
|
D | diag.sh | 92 __chk_nr "ss -nlHtON $ns | wc -l" "$expected" "$msg - subflows"
|
D | userspace_pm.sh | 560 print_title "Subflows v4 or v6 only tests" 795 print_title "Subflows v4 and v6 mix tests"
|
/linux-6.15/net/mptcp/ |
D | pm_kernel.c | 190 msk->pm.subflows++; in fill_remote_addresses_vec() 195 /* Forbid creation of new subflows matching existing in fill_remote_addresses_vec() 216 if (msk->pm.subflows < subflows_max) { in fill_remote_addresses_vec() 221 msk->pm.subflows++; in fill_remote_addresses_vec() 272 /* do lazy endpoint usage accounting for the MPC subflows */ in mptcp_pm_create_subflow_or_signal_addr() 295 pr_debug("local %d:%d signal %d:%d subflows %d:%d\n", in mptcp_pm_create_subflow_or_signal_addr() 298 msk->pm.subflows, subflows_max); in mptcp_pm_create_subflow_or_signal_addr() 316 * continuing, and trying to create subflows. in mptcp_pm_create_subflow_or_signal_addr() 338 msk->pm.subflows < subflows_max) { in mptcp_pm_create_subflow_or_signal_addr() 407 if (msk->pm.subflows < subflows_max) { in fill_local_addresses_vec() [all …]
|
D | pm.c | 462 pm->subflows++; in mptcp_pm_allow_new_subflow() 471 pr_debug("msk=%p subflows=%d max=%d allow=%d\n", msk, pm->subflows, in mptcp_pm_allow_new_subflow() 480 ret = pm->subflows < subflows_max; in mptcp_pm_allow_new_subflow() 481 if (ret && ++pm->subflows == subflows_max) in mptcp_pm_allow_new_subflow() 567 pm->subflows--; in mptcp_pm_subflow_check_next() 697 /* the following takes care of updating the subflows counter */ in mptcp_pm_rm_addr_or_subflow() 920 * we can possibly use backup subflows now, and subflow selection in mptcp_pm_subflows_chk_stale()
|
D | sockopt.c | 370 * we must be careful with subflows in mptcp_setsockopt_sol_socket() 376 * SO_MAX_PACING_RATE is unsupported, we must be careful with subflows in mptcp_setsockopt_sol_socket() 538 /* IPV6_ADDR_PREFERENCES is not supported, we must be careful with subflows */ in mptcp_supported_sockopt() 885 * there are multiple subflows is not yet defined. It is up to the in mptcp_setsockopt() 886 * MPTCP-level socket to configure the subflows until the subflow in mptcp_setsockopt() 944 info->mptcpi_subflows = READ_ONCE(msk->pm.subflows); in mptcp_diag_fill_info() 1485 * there are multiple subflows is not yet defined. It is up to the in mptcp_getsockopt() 1486 * MPTCP-level socket to configure the subflows until the subflow in mptcp_getsockopt() 1571 /* subflows must ignore any latency-related settings: will not affect in mptcp_sockopt_sync_locked() 1614 /* propagate the rcvbuf changes to all the subflows */ in mptcp_set_rcvlowat()
|
D | mib.h | 73 MPTCP_MIB_SUBFLOWSTALE, /* Subflows entered 'stale' status */ 74 MPTCP_MIB_SUBFLOWRECOVER, /* Subflows returned to active status after being stale */
|
D | Kconfig | 10 subflows in order to utilize multiple network paths. Each subflow
|
D | protocol.h | 238 u8 subflows; 346 u64 rtt_us; /* last maximum rtt of subflows */ 495 struct list_head node;/* conn_list of subflows */ 546 u64 iasn; /* initial ack sequence number, MPC subflows only */ 1178 if (--msk->pm.subflows < mptcp_pm_get_subflows_max(msk)) in __mptcp_pm_close_subflow()
|
D | protocol.c | 194 /* with 2 subflows, adding at end of ooo queue is quite likely in mptcp_data_queue_ofo() 1906 * Only difference: Use highest rtt estimate of the subflows in use. 1978 /* Make subflows follow along. If we do not do this, we in mptcp_rcv_space_adjust() 2039 * As an optimization avoid traversing the subflows list in __mptcp_move_skbs() 2335 * Outgoing subflows use in-kernel sockets. 2336 * Incoming subflows do not have their own 'struct socket' allocated, 2416 /* Catch every 'all subflows closed' scenario, including peers silently in __mptcp_close_ssk() 2419 * as the protocol can still create more subflows. in __mptcp_close_ssk() 2587 /* limit retransmission to the bytes already sent on some subflows */ in __mptcp_retrans() 2904 /* we still need to enqueue subflows or not really shutting down, in mptcp_check_send_data_fin() [all …]
|
D | syncookies.c | 17 * token matches a known mptcp connection that can still accept more subflows.
|
D | options.c | 940 * for mp_join subflows in check_fully_established() 952 * for MP_JOIN subflows as the peer must not send any data in check_fully_established() 967 /* subflows are fully established as soon as we get any in check_fully_established() 975 * MP_JOIN subflows. in check_fully_established()
|
/linux-6.15/Documentation/networking/ |
D | mptcp.rst | 43 Additional *subflows* can be negotiated later between the hosts. For the remote 58 The Path Manager is in charge of *subflows*, from creation to deletion, and also 59 address announcements. Typically, it is the client side that initiates subflows, 71 To be able to use multiple IP addresses on a host to create multiple *subflows* 125 Generally, the same value is propagated to all subflows, including the ones
|
D | mptcp-sysctl.rst | 126 The packet scheduler ignores stale subflows.
|
/linux-6.15/Documentation/netlink/specs/ |
D | mptcp_pm.yaml | 35 A MPTCP connection is established (can start new subflows). 186 name: subflows 327 - subflows 337 - subflows 341 - subflows
|
/linux-6.15/tools/testing/selftests/bpf/prog_tests/ |
D | mptcp.c | 346 u8 subflows; in wait_for_new_subflows() local 349 len = sizeof(subflows); in wait_for_new_subflows() 350 /* Wait max 5 sec for new subflows to be created */ in wait_for_new_subflows() 352 err = getsockopt(fd, SOL_MPTCP, MPTCP_INFO, &subflows, &len); in wait_for_new_subflows() 353 if (!err && subflows > 0) in wait_for_new_subflows()
|
/linux-6.15/include/net/ |
D | rstreason.h | 162 * having already been acknowledged over one or more other subflows. 171 * too low compared to the other subflows of this Multipath TCP
|
D | mptcp.h | 107 u8 subflows; member
|
/linux-6.15/include/uapi/linux/ |
D | mptcp.h | 110 __u32 size_arrays_user; /* max subflows that userspace is interested in;
|
D | mptcp_pm.h | 21 * subflows). Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6,
|
/linux-6.15/tools/testing/selftests/bpf/progs/ |
D | mptcp_subflow.c | 120 if (msk->pm.subflows != 1) { in _getsockopt_subflow()
|