Home
last modified time | relevance | path

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

123

/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.pm_type`` sysctl knob -- see
64 mptcp-sysctl.rst. There are two types: the in-kernel one (type ``0``) where the
[all …]
H A Dmptcp-sysctl.rst4 MPTCP Sysfs variables
7 /proc/sys/net/mptcp/* Variables
12 resent to an MPTCP peer that has not acknowledged a previous
42 Initial time period in second to disable MPTCP on active MPTCP sockets
43 when a MPTCP firewall blackhole issue happens. This time period will
45 MPTCP is re-enabled and will reset to the initial value when the
62 shutdown syscall, MPTCP sockets will maintain the status
72 Control whether MPTCP sockets can be created.
74 MPTCP sockets can be created if the value is 1. This is a
80 Set the default path manager name to use for each new MPTCP
[all …]
/linux/Documentation/netlink/specs/
H A Dmptcp_pm.yaml7 c-family-name: mptcp-pm-name
8 c-version-name: mptcp-pm-ver
11 cmd-cnt-name: --mptcp-pm-cmd-after-last
17 enum-name: mptcp-event-type
18 name-prefix: mptcp-event-
26 A new MPTCP connection has been created. It is the good time to
35 A MPTCP connection is established (can start new subflows).
41 A MPTCP connection has stopped.
90 name-prefix: mptcp-pm-addr-attr-
122 name-prefix: mptcp-subflow-attr-
[all …]
/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 Dtoken.c23 #define pr_fmt(fmt) "MPTCP: " fmt
33 #include <net/mptcp.h>
88 * hash of some information available in the MPTCP socket. Use in mptcp_crypto_key_gen_sha()
101 * This function is called when a new mptcp connection is coming in.
103 * It creates a unique token to identify the new mptcp connection,
139 * This function is called when a new outgoing mptcp connection is
142 * It creates a unique token to identify the new mptcp connection,
145 * On success, the mptcp connection can be found again using
237 * mptcp_token_get_sock - retrieve mptcp connection sock using its token
239 * @token: token of the mptcp connection to retrieve
[all …]
H A Dctrl.c17 #define MPTCP_SYSCTL_PATH "net/mptcp"
429 /* The following code block is to deal with middle box issues with MPTCP,
431 * The proposed solution is to disable active MPTCP globally when SYN+MPC are
432 * dropped, while SYN without MPC aren't. In this case, active side MPTCP is
435 * The timeout is reset back to 1hr when a successful active MPTCP connection is
439 /* Disable active MPTCP and record current jiffies and active_disable_times */
462 /* Calculate timeout for MPTCP active disable
463 * Return true if we are still in the active MPTCP disable period
464 * Return false if timeout already expired and we should use active MPTCP
498 /* Enable active MPTCP and reset active_disable_times if needed */
[all …]
H A Dprotocol.h13 #include <uapi/linux/mptcp.h>
19 /* MPTCP option bits */
41 /* MPTCP option subtypes */
52 /* MPTCP suboption lengths */
85 /* MPTCP MP_JOIN flags */
89 /* MPTCP MP_CAPABLE flags */
97 /* MPTCP DSS flags */
105 /* MPTCP ADD_ADDR flags */
108 /* MPTCP MP_PRIO flags */
111 /* MPTCP TCPRS
[all...]
H A Dsyncookies.c8 * Unlike MP_CAPABLE, where the ACK cookie contains the needed MPTCP
10 * the token to obtain the mptcp socket nor the server-generated nonce
17 * token matches a known mptcp connection that can still accept more subflows.
90 * present in the cookie ACK mptcp option space will be checked later.
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 Dsubflow.c7 #define pr_fmt(fmt) "MPTCP: " fmt
22 #include <net/mptcp.h>
27 #include <trace/events/mptcp.h>
142 /* Init mptcp request socket.
159 /* no MPTCP if MD5SIG is enabled on this socket or we may run out of in subflow_check_req()
607 /* It looks like MPTCP is blocked, while TCP is not */ in subflow_finish_connect()
834 * which may not carry the MP_CAPABLE opt even on mptcp enabled in subflow_syn_recv_sock()
863 * to reset the context to non MPTCP status. in subflow_syn_recv_sock()
1278 /* sched mptcp worker for subflow cleanup if no more data is pending */
1447 /* If ssk has an mptcp parent socket, use the mptcp rcvbuf occupancy,
[all …]
H A Dmib.c5 #include <net/mptcp.h>
88 * These are allocated when the first mptcp socket is created so
89 * we do not waste percpu memory if mptcp isn't in use.
H A Dprotocol.c7 #define pr_fmt(fmt) "MPTCP: " fmt
22 #include <net/mptcp.h>
30 #include <trace/events/mptcp.h>
161 * - use mptcp seqs
602 /* Under fallback skbs have no MPTCP extension and TCP could in __mptcp_move_skbs_from_subflow()
729 /* In most cases we will be able to lock the mptcp socket. If its already
874 /* can collapse only if MPTCP level sequence is in order and this in mptcp_skb_can_collapse_to()
1322 /* implement the mptcp packet scheduler;
1420 /* snd_nxt_new can be smaller than snd_nxt in case mptcp in mptcp_update_post_push()
1630 /* on flags based fastopen the mptcp is supposed to create the in mptcp_sendmsg_fastopen()
[all …]
H A Dfastopen.c2 /* MPTCP Fast Open Mechanism
37 /* We copy the fastopen data, but that don't belong to the mptcp sequence in mptcp_fastopen_subflow_synack_set_params()
H A Dmib.h17 MPTCP_MIB_RETRANSSEGS, /* Segments retransmitted at the MPTCP-level */
41 MPTCP_MIB_NODSSWINDOW, /* Segments not in MPTCP windows */
82 MPTCP_MIB_CURRESTAB, /* Current established MPTCP connections */
H A Dmptcp_diag.c2 /* MPTCP socket monitoring support
106 if (!ctx || strcmp(inet_csk(sk)->icsk_ulp_ops->name, "mptcp")) in mptcp_diag_dump_listeners()
248 MODULE_DESCRIPTION("MPTCP socket monitoring via SOCK_DIAG");
H A Dtoken_test.c144 .name = "mptcp-token",
151 MODULE_DESCRIPTION("KUnit tests for MPTCP Token");
/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_skb_ext_copy()
204 * MPTCP collapse is allowed if neither @to or @from carry an mptcp data in mptcp_ext_matches()
/linux/tools/testing/selftests/net/mptcp/
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_join.sh103 ip netns exec $netns sysctl -q net.mptcp.pm_type=0 2>/dev/null || true
105 ip netns exec $netns sysctl -q net.mptcp.checksum_enabled=1
350 ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=1
370 ip netns exec $ns1 sysctl -q net.mptcp.checksum_enabled=$ns1_enable
371 ip netns exec $ns2 sysctl -q net.mptcp.checksum_enabled=$ns2_enable
383 ip netns exec $ns1 sysctl -q net.mptcp.allow_join_initial_addr_port=$ns1_enable
384 ip netns exec $ns2 sysctl -q net.mptcp.allow_join_initial_addr_port=$ns2_enable
393 # Because the MPTCP checksum, covering the TCP options and data, has not been
395 # what we want to validate here without corrupting "random" MPTCP options.
439 ip netns exec $ns1 sysctl -q net.mptcp.checksum_enabled=1
[all …]
H A Dpm_netlink.sh10 echo -e "\t-i: use 'ip mptcp' instead of 'pm_nl_ctl'"
63 ip -n "${ns1}" mptcp limits
83 ip -n "${ns1}" mptcp endpoint change "${addr}" "${flags}"
/linux/include/uapi/linux/
H A Dmptcp_pm.h15 * @MPTCP_EVENT_CREATED: A new MPTCP connection has been created. It is the
20 * @MPTCP_EVENT_ESTABLISHED: A MPTCP connection is established (can start new
23 * @MPTCP_EVENT_CLOSED: A MPTCP connection has stopped. Attribute: token.
H A Dmptcp.h67 /* MPTCP Reset reason codes, rfc8684 */
122 /* MPTCP socket options */
/linux/Documentation/translations/zh_CN/networking/
H A Dindex.rst93 * mptcp
94 * mptcp-sysctl

123