| /linux/Documentation/networking/ |
| H A D | mptcp.rst | 4 Multipath TCP (MPTCP) 10 Multipath TCP or MPTCP is an extension to the standard TCP and is described in 13 packets over a single MPTCP connection. MPTCP can aggregate the bandwidth of 19 official website: `mptcp.dev <https://www.mptcp.dev>`_. 25 Thanks to MPTCP, being able to use multiple paths in parallel or simultaneously 44 host to be able to detect the use of MPTCP, a new field is added to the TCP 46 other things, a ``MP_CAPABLE`` option that tells the other host to use MPTCP if 48 it, the returned ``SYN+ACK`` packet will not contain MPTCP options in the TCP 63 Path managers are controlled by the ``net.mptcp.path_manager`` sysctl knob -- 64 see mptcp-sysctl.rst. There are two types: the in-kernel one (``kernel``) where [all …]
|
| H A D | index.rst | 75 mptcp 76 mptcp-sysctl
|
| /linux/net/mptcp/ |
| H A D | Kconfig | 2 config MPTCP config 3 bool "MPTCP: Multipath TCP" 9 Multipath TCP (MPTCP) connections send and receive data over multiple 12 MPTCP. 14 if MPTCP 21 bool "MPTCP: IPv6 support for Multipath TCP" 26 tristate "This builds the MPTCP KUnit tests" if !KUNIT_ALL_TESTS 30 Currently covers the MPTCP crypto and token helpers.
|
| H A D | mib.h | 17 MPTCP_MIB_RETRANSSEGS, /* Segments retransmitted at the MPTCP-level */ 46 MPTCP_MIB_NODSSWINDOW, /* Segments not in MPTCP windows */ 86 MPTCP_MIB_CURRESTAB, /* Current established MPTCP connections */ 97 MPTCP_MIB_WINPROBE, /* MPTCP-level zero window probe */ 100 MPTCP_MIB_OFOPRUNED, /* MPTCP-level OoO queue pruned */
|
| H A D | crypto_test.c | 42 /* mptcp hmap will convert to be before computing the hmac */ in mptcp_crypto_test_basic() 66 .name = "mptcp-crypto", 73 MODULE_DESCRIPTION("KUnit tests for MPTCP Crypto");
|
| H A D | Makefile | 2 obj-$(CONFIG_MPTCP) += mptcp.o 4 mptcp-y := protocol.o subflow.o options.o token.o crypto.o ctrl.o pm.o diag.o \
|
| H A D | mib.c | 5 #include <net/mptcp.h> 102 * These are allocated when the first mptcp socket is created so 103 * we do not waste percpu memory if mptcp isn't in use.
|
| H A D | subflow.c | 7 #define pr_fmt(fmt) "MPTCP: " fmt 22 #include <net/mptcp.h> 27 #include <trace/events/mptcp.h> 143 /* Init mptcp request socket. 160 /* no MPTCP if MD5SIG is enabled on this socket or we may run out of in subflow_check_req() 613 /* It looks like MPTCP is blocked, while TCP is not */ in subflow_finish_connect() 842 * which may not carry the MP_CAPABLE opt even on mptcp enabled in subflow_syn_recv_sock() 871 * to reset the context to non MPTCP status. in subflow_syn_recv_sock() 1296 /* sched mptcp worker for subflow cleanup if no more data is pending */ in subflow_sched_work_if_closed() 1478 /* If ssk has an mptcp paren [all...] |
| H A D | fastopen.c | 2 /* MPTCP Fast Open Mechanism 40 /* We copy the fastopen data, but that don't belong to the mptcp sequence in mptcp_fastopen_subflow_synack_set_params()
|
| H A D | token_test.c | 144 .name = "mptcp-token", 151 MODULE_DESCRIPTION("KUnit tests for MPTCP Token");
|
| /linux/tools/testing/selftests/bpf/prog_tests/ |
| H A D | mptcp.c | 196 cgroup_fd = test__join_cgroup("/mptcp"); in test_base() 204 /* without MPTCP */ in test_base() 214 /* with MPTCP */ in test_base() 219 ASSERT_OK(run_test(cgroup_fd, server_fd, true), "run_test mptcp"); in test_base() 247 if (!ASSERT_EQ(protocol, IPPROTO_MPTCP, "protocol isn't MPTCP")) in verify_mptcpify() 258 "MPTCP fallback")) in verify_mptcpify() 282 /* without MPTCP */ in run_mptcpify() 322 * the BPF prog must still upgrade the socket to MPTCP. See in test_mptcpify() 341 if (SYS_NOFAIL("ip -net %s mptcp endpoint add %s %s", NS_TEST, ADDR_2, flags)) { in endpoint_init() 342 printf("'ip mptcp' not supported, skip this test.\n"); in endpoint_init() [all …]
|
| /linux/include/net/ |
| H A D | rstreason.h | 6 #include <uapi/linux/mptcp.h> 39 * The reasons of sk reset, which are used in TCP/MPTCP protocols. 44 * 3) reset reasons in MPTCP: only for MPTCP use 127 /* Copy from include/uapi/linux/mptcp.h. 136 * RST was generated by an MPTCP-aware device. 140 * @SK_RST_REASON_MPTCP_RST_EMPTCP: MPTCP-specific error. 141 * An error has been detected in the processing of MPTCP options. 178 * making MPTCP signaling invalid. For example, this may be sent
|
| H A D | mptcp.h | 20 /* MPTCP sk_buff extension data */ 195 /* MPTCP always clears the ext when adding it to the skb, so in mptcp_ext_matches() 204 * MPTCP collapse is allowed if neither @to or @from carry an mptcp data
|
| /linux/tools/testing/selftests/net/mptcp/ |
| H A D | mptcp_connect.sh | 61 echo -e "\t-C: enable the MPTCP data checksum" 210 ip netns exec $i sysctl -q net.mptcp.checksum_enabled=1 265 print_larger_title "New MPTCP socket can be blocked via sysctl" 268 if ! ip netns exec ${disabled_ns} sysctl net.mptcp >/dev/null; then 269 mptcp_lib_pr_fail "not able to list net.mptcp sysctl knobs" 270 mptcp_lib_result_fail "not able to list net.mptcp sysctl knobs" 275 # net.mptcp.enabled should be enabled by default 276 if [ "$(ip netns exec ${disabled_ns} sysctl net.mptcp.enabled | awk '{ print $3 }')" -ne 1 ]; then 277 mptcp_lib_pr_fail "net.mptcp.enabled sysctl is not 1 by default" 278 mptcp_lib_result_fail "net.mptcp.enabled sysctl is not 1 by default" [all …]
|
| H A D | userspace_pm.sh | 16 if ! mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then 102 # Terminate the MPTCP connection and related processes 124 if [ -f /proc/sys/net/mptcp/path_manager ]; then 125 ip netns exec "$ns1" sysctl -q net.mptcp.path_manager=userspace 126 pm_type="$(ip netns exec "$ns1" sysctl -n net.mptcp.pm_type)" 133 ip netns exec "$ns1" sysctl -q net.mptcp.path_manager=error 2>/dev/null 134 pm_type="$(ip netns exec "$ns1" sysctl -n net.mptcp.pm_type)" 141 ip netns exec "$ns1" sysctl -q net.mptcp.pm_type=0 142 pm_name="$(ip netns exec "$ns1" sysctl -n net.mptcp.path_manager)" 151 ip netns exec "$i" sysctl -q net.mptcp.pm_type=1 [all …]
|
| H A D | mptcp_lib.sh | 170 if ! mptcp_lib_has_file "/proc/sys/net/mptcp/enabled"; then 171 mptcp_lib_pr_skip "MPTCP support is not available" 526 if ! ss -h | grep -q MPTCP; then 527 mptcp_lib_pr_skip "ss tool does not support MPTCP" 553 ip netns exec "${!netns}" sysctl -q net.mptcp.enabled=1 679 ip -n "${ns}" mptcp endpoint show id "${id}" 691 ip -n "${ns}" mptcp limits set add_addr_accepted "${addrs}" subflows "${subflows}" 716 ip -n "${ns}" mptcp endpoint add "${addr}" ${flags//","/" "} \ 731 ip -n "${ns}" mptcp endpoint delete id "${id}" ${addr:+"${addr}"} 741 ip -n "${ns}" mptcp endpoin [all...] |
| H A D | mptcp_join.sh | 146 ip netns exec $netns sysctl -q net.mptcp.pm_type=0 2>/dev/null || true 148 ip netns exec $netns sysctl -q net.mptcp.checksum_enabled=1 394 ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=1 414 ip netns exec $ns1 sysctl -q net.mptcp.checksum_enabled=$ns1_enable 415 ip netns exec $ns2 sysctl -q net.mptcp.checksum_enabled=$ns2_enable 427 ip netns exec $ns1 sysctl -q net.mptcp.allow_join_initial_addr_port=$ns1_enable 428 ip netns exec $ns2 sysctl -q net.mptcp.allow_join_initial_addr_port=$ns2_enable 437 # Because the MPTCP checksum, covering the TCP options and data, has not been 439 # what we want to validate here without corrupting "random" MPTCP options. 483 ip netns exec $ns1 sysctl -q net.mptcp.checksum_enabled=1 [all …]
|
| H A D | mptcp_sockopt.sh | 27 echo -e "\t-i: use 'ip mptcp' instead of 'pm_nl_ctl'" 259 mptcp_lib_pr_skip "MPTCP sockopt not supported" 298 do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr}
|
| H A D | pm_netlink.sh | 10 echo -e "\t-i: use 'ip mptcp' instead of 'pm_nl_ctl'" 63 ip -n "${ns1}" mptcp limits 71 ip -n "${ns1}" mptcp limits | awk '{ print $2" "$4 }' 93 ip -n "${ns1}" mptcp endpoint change "${addr}" "${flags}"
|
| H A D | diag.sh | 44 ip netns exec $ns cat /proc/net/protocols | awk '$1~/^MPTCP$/{print $3}' 91 __chk_nr "ss -nlHMON $ns | wc -l" "$expected" "$msg - mptcp" 0 156 # should return 'our' mptcp listen socket
|
| H A D | mptcp_connect.c | 115 "[-s MPTCP|TCP] [-S num] [-t num] [-T num] [-w sec] connect_address\n"); in die_usage() 119 "of bytes. If there are unread bytes in the receive queue, that will cause a MPTCP " in die_usage() 137 fprintf(stderr, "\t-s [MPTCP|TCP] -- use mptcp(default) or tcp sockets\n"); in die_usage() 195 /* glibc starts to support MPTCP since v2.42. in xgetaddrinfo() 197 * and use TCP/MPTCP to create socket. in xgetaddrinfo() 286 if (strcmp(buf, "mptcp") != 0) in sock_test_tcpulp() 297 ret = do_ulp_so(sock, "mptcp"); in sock_test_tcpulp() 1436 if (!strcasecmp(proto, "MPTCP")) in parse_proto()
|
| /linux/Documentation/translations/zh_CN/networking/ |
| H A D | mptcp-sysctl.rst | 5 :Original: Documentation/networking/mptcp-sysctl.rst 12 MPTCP Sysfs 变量 15 /proc/sys/net/mptcp/* Variables 127 在回退到 TCP(即丢弃 MPTCP 选项)之前,SYN + MP_CAPABLE
|
| H A D | index.rst | 30 mptcp-sysctl 99 * mptcp
|
| /linux/include/uapi/linux/ |
| H A D | mptcp.h | 81 /* MPTCP Reset reason codes, rfc8684 */ 136 /* MPTCP socket options */
|
| /linux/tools/testing/selftests/net/ |
| H A D | ip_local_port_range.sh | 5 sh -c 'sysctl -q -w net.mptcp.enabled=1 && \
|