/linux-6.12.1/tools/testing/selftests/net/mptcp/ |
D | mptcp_join.sh | 1804 fail_test "got $cnt1:$cnt2 subflows expected $subflow_nr" 1848 # $1: subflows in ns1 ; $2: subflows in ns2 1849 # number of all subflows, including the initial subflow. 1865 # if not, count the TCP connections that are in fact MPTCP subflows 1872 fail_test "got subflows $cnt1:$cnt2 expected $1:$2" 1965 # multiple subflows 1966 if reset "multiple subflows"; then 1975 # multiple subflows limited by server 1976 if reset "multiple subflows, limited by server"; then 2010 # 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 | 594 local subflows=${3} 597 ip -n "${ns}" mptcp limits set add_addr_accepted "${addrs}" subflows "${subflows}" 599 ip netns exec "${ns}" ./pm_nl_ctl limits "${addrs}" "${subflows}"
|
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 | 532 print_title "Subflows v4 or v6 only tests" 767 print_title "Subflows v4 and v6 mix tests"
|
D | pm_nl_ctl.c | 1212 "subflows" : "accept", max); in print_limits() 1225 uint32_t rcv_addr = 0, subflows = 0; in get_set_limits() local 1233 subflows = atoi(argv[3]); in get_set_limits() 1255 memcpy(RTA_DATA(rta), &subflows, 4); in get_set_limits()
|
/linux-6.12.1/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 | 103 The packet scheduler ignores stale subflows.
|
/linux-6.12.1/Documentation/netlink/specs/ |
D | mptcp_pm.yaml | 35 A MPTCP connection is established (can start new subflows). 184 name: subflows 325 - subflows 335 - subflows 339 - subflows
|
/linux-6.12.1/net/mptcp/ |
D | pm.c | 84 pm->subflows++; in mptcp_pm_allow_new_subflow() 93 pr_debug("msk=%p subflows=%d max=%d allow=%d\n", msk, pm->subflows, in mptcp_pm_allow_new_subflow() 102 ret = pm->subflows < subflows_max; in mptcp_pm_allow_new_subflow() 103 if (ret && ++pm->subflows == subflows_max) in mptcp_pm_allow_new_subflow() 186 pm->subflows--; in mptcp_pm_subflow_check_next() 508 pm->subflows = 0; in mptcp_pm_data_reset()
|
D | pm_netlink.c | 245 if (msk->pm.subflows == mptcp_pm_get_subflows_max(msk) || in mptcp_pm_nl_check_work_pending() 443 msk->pm.subflows++; in fill_remote_addresses_vec() 448 /* Forbid creation of new subflows matching existing in fill_remote_addresses_vec() 469 if (msk->pm.subflows < subflows_max) { in fill_remote_addresses_vec() 474 msk->pm.subflows++; in fill_remote_addresses_vec() 551 /* do lazy endpoint usage accounting for the MPC subflows */ in mptcp_pm_create_subflow_or_signal_addr() 574 pr_debug("local %d:%d signal %d:%d subflows %d:%d\n", in mptcp_pm_create_subflow_or_signal_addr() 577 msk->pm.subflows, subflows_max); in mptcp_pm_create_subflow_or_signal_addr() 595 * continuing, and trying to create subflows. in mptcp_pm_create_subflow_or_signal_addr() 617 msk->pm.subflows < subflows_max) { in mptcp_pm_create_subflow_or_signal_addr() [all …]
|
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() 1459 * there are multiple subflows is not yet defined. It is up to the in mptcp_getsockopt() 1460 * MPTCP-level socket to configure the subflows until the subflow in mptcp_getsockopt() 1543 /* subflows must ignore any latency-related settings: will not affect in mptcp_sockopt_sync_locked() 1586 /* 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 | 232 u8 subflows; member 340 u64 rtt_us; /* last maximum rtt of subflows */ 494 struct list_head node;/* conn_list of subflows */ 545 u64 iasn; /* initial ack sequence number, MPC subflows only */ 1151 if (--msk->pm.subflows < mptcp_pm_get_subflows_max(msk)) in __mptcp_pm_close_subflow()
|
D | syncookies.c | 17 * token matches a known mptcp connection that can still accept more subflows.
|
D | protocol.c | 241 /* with 2 subflows, adding at end of ooo queue is quite likely in mptcp_data_queue_ofo() 2000 * Only difference: Use highest rtt estimate of the subflows in use. 2072 /* Make subflows follow along. If we do not do this, we in mptcp_rcv_space_adjust() 2127 /* we can have data pending in the subflows only if the msk in __mptcp_move_skbs() 2434 * Outgoing subflows use in-kernel sockets. 2435 * Incoming subflows do not have their own 'struct socket' allocated, 2515 /* Catch every 'all subflows closed' scenario, including peers silently in __mptcp_close_ssk() 2518 * as the protocol can still create more subflows. in __mptcp_close_ssk() 2686 /* limit retransmission to the bytes already sent on some subflows */ in __mptcp_retrans() 3006 /* we still need to enqueue subflows or not really shutting down, in mptcp_check_send_data_fin() [all …]
|
D | options.c | 936 * for mp_join subflows in check_fully_established() 948 * for MP_JOIN subflows as the peer must not send any data in check_fully_established() 963 /* subflows are fully established as soon as we get any in check_fully_established() 971 * MP_JOIN subflows. in check_fully_established()
|
D | subflow.c | 1689 /* we account subflows before the creation, and this failures will not in __mptcp_subflow_connect() 1702 /* only the additional subflows created by kworkers have to be modified */ in mptcp_attach_cgroup() 1783 * socket, even if for additional subflows the allocation is performed in mptcp_subflow_create_socket() 2193 panic("MPTCP: failed to register subflows to ULP\n"); in mptcp_subflow_init()
|
/linux-6.12.1/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.12.1/include/uapi/linux/ |
D | mptcp.h | 110 __u32 size_arrays_user; /* max subflows that userspace is interested in;
|
D | mptcp_pm.h | 21 * sport, dport A MPTCP connection is established (can start new subflows).
|
/linux-6.12.1/drivers/net/ethernet/netronome/nfp/flower/ |
D | offload.c | 1641 /* Do not cycle subflows if no stats to distribute. */ in __nfp_flower_update_merge_stats() 1652 * Distribute these stats to all subflows that form the merge. in __nfp_flower_update_merge_stats() 1653 * The stats will collected from TC via the subflows. in __nfp_flower_update_merge_stats()
|