Home
last modified time | relevance | path

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

123

/linux-6.8/net/mptcp/
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.
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 …]
Dprotocol.h13 #include <uapi/linux/mptcp.h>
20 /* MPTCP option bits */
42 /* MPTCP option subtypes */
53 /* MPTCP suboption lengths */
86 /* MPTCP MP_JOIN flags */
90 /* MPTCP MP_CAPABLE flags */
98 /* MPTCP DSS flags */
106 /* MPTCP ADD_ADDR flags */
109 /* MPTCP MP_PRIO flags */
112 /* MPTCP TCPRST flags */
[all …]
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.
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");
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 \
Dmib.c5 #include <net/mptcp.h>
75 * These are allocated when the first mptcp socket is created so
76 * we do not waste percpu memory if mptcp isn't in use.
Dmptcp_diag.c2 /* MPTCP socket monitoring support
13 #include <uapi/linux/mptcp.h>
107 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");
Dsubflow.c7 #define pr_fmt(fmt) "MPTCP: " fmt
23 #include <net/mptcp.h>
24 #include <uapi/linux/mptcp.h>
28 #include <trace/events/mptcp.h>
134 /* Init mptcp request socket.
151 /* no MPTCP if MD5SIG is enabled on this socket or we may run out of in subflow_check_req()
797 * which may not carry the MP_CAPABLE opt even on mptcp enabled in subflow_syn_recv_sock()
830 * to reset the context to non MPTCP status. in subflow_syn_recv_sock()
1207 /* sched mptcp worker to remove the subflow if no more data is pending */
1372 /* If ssk has an mptcp parent socket, use the mptcp rcvbuf occupancy,
[all …]
Dmib.h12 MPTCP_MIB_RETRANSSEGS, /* Segments retransmitted at the MPTCP-level */
27 MPTCP_MIB_NODSSWINDOW, /* Segments not in MPTCP windows */
68 MPTCP_MIB_CURRESTAB, /* Current established MPTCP connections */
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()
Dprotocol.c7 #define pr_fmt(fmt) "MPTCP: " fmt
23 #include <net/mptcp.h>
30 #include <trace/events/mptcp.h>
206 * - use mptcp seqs
666 /* Under fallback skbs have no MPTCP extension and TCP could in __mptcp_move_skbs_from_subflow()
797 /* In most cases we will be able to lock the mptcp socket. If its already
951 /* can collapse only if MPTCP level sequence is in order and this in mptcp_skb_can_collapse_to()
1396 /* implement the mptcp packet scheduler;
1492 /* snd_nxt_new can be smaller than snd_nxt in case mptcp in mptcp_update_post_push()
1709 /* on flags based fastopen the mptcp is supposed to create the in mptcp_sendmsg_fastopen()
[all …]
Ddiag.c2 /* MPTCP socket monitoring support
13 #include <uapi/linux/mptcp.h>
Dtoken_test.c139 .name = "mptcp-token",
146 MODULE_DESCRIPTION("KUnit tests for MPTCP Token");
/linux-6.8/Documentation/netlink/specs/
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-
27 A new MPTCP connection has been created. It is the good time to
35 A MPTCP connection is established (can start new subflows).
40 A MPTCP connection has stopped.
88 name-prefix: mptcp-pm-addr-attr-
121 name-prefix: mptcp-subflow-attr-
[all …]
/linux-6.8/Documentation/networking/
Dmptcp-sysctl.rst4 MPTCP Sysfs variables
7 /proc/sys/net/mptcp/* Variables
11 Control whether MPTCP sockets can be created.
13 MPTCP sockets can be created if the value is 1. This is a
20 resent to an MPTCP peer that has not acknowledged a previous
30 shutdown syscall, MPTCP sockets will maintain the status
61 Set the default path manager type to use for each new MPTCP
64 per-namespace values configured over the MPTCP netlink
65 API. Userspace path management puts per-MPTCP-connection subflow
78 The number of MPTCP-level retransmission intervals with no traffic and
/linux-6.8/tools/testing/selftests/net/mptcp/
Dmptcp_connect.sh56 echo -e "\t-C: enable the MPTCP data checksum"
219 ip netns exec $i sysctl -q net.mptcp.checksum_enabled=1
262 # net.mptcp.enabled should be enabled by default
263 if [ "$(ip netns exec ${disabled_ns} sysctl net.mptcp.enabled | awk '{ print $3 }')" -ne 1 ]; then
264 echo -e "net.mptcp.enabled sysctl is not 1 by default\t\t[ FAIL ]"
265 mptcp_lib_result_fail "net.mptcp.enabled sysctl is not 1 by default"
269 ip netns exec ${disabled_ns} sysctl -q net.mptcp.enabled=0
272 LC_ALL=C ip netns exec ${disabled_ns} ./mptcp_connect -p 10000 -s MPTCP 127.0.0.1 < "$cin" 2>&1 | \
277 echo -e "New MPTCP socket cannot be blocked via sysctl\t\t[ FAIL ]"
278 mptcp_lib_result_fail "New MPTCP socket cannot be blocked via sysctl"
[all …]
Dmptcp_join.sh99 ip netns exec $netns sysctl -q net.mptcp.enabled=1
100 ip netns exec $netns sysctl -q net.mptcp.pm_type=0 2>/dev/null || true
104 ip netns exec $netns sysctl -q net.mptcp.checksum_enabled=1
164 if ! ss -h | grep -q MPTCP; then
165 echo "SKIP: ss tool does not support MPTCP"
365 ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=1
385 ip netns exec $ns1 sysctl -q net.mptcp.checksum_enabled=$ns1_enable
386 ip netns exec $ns2 sysctl -q net.mptcp.checksum_enabled=$ns2_enable
398 ip netns exec $ns1 sysctl -q net.mptcp.allow_join_initial_addr_port=$ns1_enable
399 ip netns exec $ns2 sysctl -q net.mptcp.allow_join_initial_addr_port=$ns2_enable
[all …]
Ddiag.sh43 ss -h | grep -q MPTCP
45 echo "SKIP: ss tool does not support MPTCP"
51 ip netns exec $ns cat /proc/net/protocols | awk '$1~/^MPTCP$/{print $3}'
99 __chk_nr "ss -nlHMON $ns | wc -l" "$expected" "$msg - mptcp" 0
165 # should return 'our' mptcp listen socket
Duserspace_pm.sh16 if ! mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then
117 # Terminate the MPTCP connection and related processes
141 ip netns exec "$i" sysctl -q net.mptcp.enabled=1
142 ip netns exec "$i" sysctl -q net.mptcp.pm_type=1
188 # the MPTCP client and server
211 ./mptcp_connect -s MPTCP -w 300 -p $app_port -l $listen_addr > /dev/null 2>&1 &
218 ./mptcp_connect -s MPTCP -w 300 -m sendfile -p $app_port $connect_addr\
223 # Capture client/server attributes from MPTCP connection netlink events
237 print_test "Established IP${is_v6} MPTCP Connection ns2 => ns1"
Dmptcp_sockopt.sh47 ip netns exec $netns sysctl -q net.mptcp.enabled=1
238 echo "INFO: MPTCP sockopt not supported: SKIP"
273 do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr}
/linux-6.8/tools/testing/selftests/bpf/prog_tests/
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()
280 /* without MPTCP */ in run_mptcpify()
/linux-6.8/include/uapi/linux/
Dmptcp_pm.h16 * sport, dport A new MPTCP connection has been created. It is the good time
21 * sport, dport A MPTCP connection is established (can start new subflows).
22 * @MPTCP_EVENT_CLOSED: token A MPTCP connection has stopped.
Dmptcp.h63 /* MPTCP Reset reason codes, rfc8684 */
118 /* MPTCP socket options */
/linux-6.8/include/net/
Dmptcp.h19 /* MPTCP sk_buff extension data */
186 /* MPTCP always clears the ext when adding it to the skb, so in mptcp_ext_matches()
195 * MPTCP collapse is allowed if neither @to or @from carry an mptcp data

123