Home
last modified time | relevance | path

Searched full:mptcp (Results 1 – 25 of 46) sorted by relevance

12

/linux/Documentation/networking/
H A Dmptcp.rst4 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 Dindex.rst75 mptcp
76 mptcp-sysctl
/linux/net/mptcp/
H A DKconfig2 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 Dmib.h17 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 Dcrypto_test.c42 /* 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 DMakefile2 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 Dmib.c5 #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 Dsubflow.c7 #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 Dfastopen.c2 /* 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 Dtoken_test.c144 .name = "mptcp-token",
151 MODULE_DESCRIPTION("KUnit tests for MPTCP Token");
/linux/tools/testing/selftests/bpf/prog_tests/
H A Dmptcp.c196 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 Drstreason.h6 #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 Dmptcp.h20 /* 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 Dmptcp_connect.sh61 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 Duserspace_pm.sh16 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 Dmptcp_lib.sh170 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 Dmptcp_join.sh146 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 Dmptcp_sockopt.sh27 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 Dpm_netlink.sh10 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 Ddiag.sh44 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 Dmptcp_connect.c115 "[-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 Dmptcp-sysctl.rst5 :Original: Documentation/networking/mptcp-sysctl.rst
12 MPTCP Sysfs 变量
15 /proc/sys/net/mptcp/* Variables
127 在回退到 TCP(即丢弃 MPTCP 选项)之前,SYN + MP_CAPABLE
H A Dindex.rst30 mptcp-sysctl
99 * mptcp
/linux/include/uapi/linux/
H A Dmptcp.h81 /* MPTCP Reset reason codes, rfc8684 */
136 /* MPTCP socket options */
/linux/tools/testing/selftests/net/
H A Dip_local_port_range.sh5 sh -c 'sysctl -q -w net.mptcp.enabled=1 && \

12