11## MultiPath TCP
22
3- MultiPath TCP(MPTCP support is introduced by nmstate 2.2.0 and requires
3+ MultiPath TCP (MPTCP) support is introduced by nmstate 2.2.0 and requires
44NetworkManager 1.40 or greater.
55
6- By assigning MPTCP flags to IP address , MPTCP enabled TCP connection could be
6+ By assigning MPTCP flags to IP addresses , MPTCP- enabled TCP connections can
77benefit from extra TCP subflows.
8- Nmstate could query out the MPTCP flags of each IP address found on specific
9- interface, but only support assigning the same MPTCP flags to all the IP
8+
9+ Nmstate can query out the MPTCP flags of each IP address found on a specific
10+ interface but only supports assigning the same MPTCP flags to all the IP
1011addresses of this interface.
1112
12- To enable MPTCP use case, beside using nmstate to configure MPTCP flags on IP
13- address, you might also need(depend on your linux distributions kernel config),
14- these actions should be done before nmstate and persistent by yourself:
13+ To effectively enable MPTCP, besides using nmstate to configure MPTCP flags
14+ on IP addresses, depending on your Linux distribution kernel configuration,
15+ you might also need to perform these actions before using nmstate, and persist
16+ these changes by yourself:
1517
16- * Enable global MPTCP switch: ` sysctl -w net.mptcp.enabled=1 ` .
17- RHEL/CentOS 9 by default is disabling MPTCP, hence placing a file in
18- ` /etc/sysctl.d/ ` could persistent it.
18+ * Enable global MPTCP switch: ` sysctl -w net.mptcp.enabled=1 ` .
19+ RHEL/CentOS 9 by default is disabling MPTCP. Hence, placing a file in
20+ ` /etc/sysctl.d/ ` could persist it.
1921
20- * Increase MPTCP subflow limits: ` ip mptcp limits set subflows 2 ` .
21- RHEL/CentOS 9 by default is setting subflow limit to 2. Hence no action
22- required.
22+ * Increase MPTCP subflow limits: ` ip mptcp limits set subflows 2 ` .
23+ RHEL/CentOS 9 by default is setting subflow limit to 2. Hence, no action
24+ is required.
2325
24- * Might require ` sysctl -w net.ipv4.conf.<iface_name>.rp_filter=0 `
25- File in ` /etc/sysctl.d/ ` could persistent it.
26+ * Might require ` sysctl -w net.ipv4.conf.<iface_name>.rp_filter=0 `
27+ Hence, placing a file in ` /etc/sysctl.d/ ` could persist it.
2628
27- These commands is only for testing purpose, please check with MPTCP documents
28- and technical support for detail .
29+ These commands are only for testing purpose, please check with MPTCP documents
30+ and technical support for details .
2931
30- Example to add 'subflow' and 'signal' MPTCP flags to all IP of eth1.
32+ Example to add 'subflow' and 'signal' MPTCP flags to all IP addresses of eth1.
3133
3234``` yaml
3335---
@@ -47,7 +49,7 @@ interfaces:
4749 prefix-length : 24
4850` ` `
4951
50- Example on querying MPTCP of eth1:
52+ Example of querying MPTCP of eth1:
5153
5254
5355` ` ` yaml
@@ -73,14 +75,15 @@ interfaces:
7375
7476
7577### Limitations
76- * Nmstate can query MPTCP flags per IP address. But setting MPTCP flags on
77- IP address is not supported and will be ignored with a warning.
7878
79- * Nmstate will not apply MPTCP flags to link-local address, multicast
80- address, loopback address, and IPv6 unicast local address.
79+ * Nmstate can query MPTCP flags per IP address. However, setting MPTCP flags
80+ on IP addresses is not supported and will be ignored with a warning.
81+
82+ * Nmstate will not apply MPTCP flags to link-local addresses, multicast
83+ addresses, loopback addresses, and IPv6 unicast local addresses.
8184
8285### How to tell MPTCP is working.
8386
84- * Use ` mptcpize run` to start the TCP server and client.
85- * Use `tcpdump` , `tshark` or `wireshark` to capture the network flow.
86- Seek for MPTCP subflows.
87+ * Use ` mptcpize run` to start the TCP server and client.
88+ * Use `tcpdump, `tshark`, or `wireshark` to capture the network flow.
89+ Seek for MPTCP subflows.
0 commit comments