Bug 2029636
| Summary: | [RFE] Add mptcp functionality to NetworkManager | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 9 | Reporter: | Jonathan Maxwell <jmaxwell> |
| Component: | NetworkManager | Assignee: | Thomas Haller <thaller> |
| Status: | CLOSED ERRATA | QA Contact: | David Jaša <djasa> |
| Severity: | high | Docs Contact: | Jaroslav Klech <jklech> |
| Priority: | unspecified | ||
| Version: | 9.0 | CC: | acabral, bgalvani, dcaratti, djasa, ferferna, fge, jklech, lrintel, mberezny, mmhatre, pabeni, pasik, rkhan, sfaye, sukulkar, thaller, till, vbenes |
| Target Milestone: | rc | Keywords: | FutureFeature, TechPreview, Triaged |
| Target Release: | 9.1 | Flags: | pm-rhel:
mirror+
|
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | NetworkManager-1.39.90-1.el9 | Doc Type: | Enhancement |
| Doc Text: |
.Configuring Multipath TCP using NetworkManager is now fully supported
With this update, the NetworkManager utility provides you with the Multipath TCP (MPTCP) functionality. You can use `nmcli` commands to control MPTCP and make its settings persistent.
For more information, see:
* link:https://www.redhat.com/en/blog/understanding-multipath-tcp-networking-highway-future[Understanding Multipath TCP: High availability for endpoints and the networking highway of the future]
* link:https://www.rfc-editor.org/rfc/rfc8684[RFC 8684: TCP Extensions for Multipath Operation with Multiple Addresses]
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/configuring_and_managing_networking/index#proc_permanently-configuring-multiple-paths-for-mptcp-applications_getting-started-with-multipath-tcp[Permanently configuring multiple paths for MPTCP applications]
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2022-11-15 10:49:31 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Comment 7
Gris Ge
2022-04-27 09:54:40 UTC
(In reply to Gris Ge from comment #7) > Hi Team, > > Any objection on marking this feature as tech preview in NetworkManager for > 9.1 and 8.7? No objection. Sounds reasonable to me. Marking as VERIFIED for 1.40.0-1.el8: NM behaves as described in nm-settings-nmcli(5):
mptcp-flags
Whether to configure MPTCP endpoints and the address flags. If
MPTCP is enabled in NetworkManager, it will configure the
addresses of the interface as MPTCP endpoints. Note that IPv4
loopback addresses (127.0.0.0/8), IPv4 link local addresses
(169.254.0.0/16), the IPv6 loopback address (::1), IPv6 link local
addresses (fe80::/10), IPv6 unique local addresses (ULA, fc00::/7)
and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy)
will be excluded from being configured as endpoints.
If "disabled" (0x1), MPTCP handling for the interface is disabled
and no endpoints are registered.
The "enabled" (0x2) flag means that MPTCP handling is enabled.
This flag can also be implied from the presence of other flags.
Even when enabled, MPTCP handling will by default still be
disabled unless "/proc/sys/net/mptcp/enabled" sysctl is on.
NetworkManager does not change the sysctl and this is up to the
administrator or distribution. To configure endpoints even if the
sysctl is disabled, "also-without-sysctl" (0x4) flag can be used.
In that case, NetworkManager doesn't look at the sysctl and
configures endpoints regardless.
Even when enabled, NetworkManager will only configure MPTCP
endpoints for a certain address family, if there is a unicast
default route (0.0.0.0/0 or ::/0) in the main routing table. The
flag "also-without-default-route" (0x8) can override that.
When MPTCP handling is enabled then endpoints are configured with
the specified address flags "signal" (0x10), "subflow" (0x20),
"backup" (0x40), "fullmesh" (0x80). See ip-mptcp(8) manual for
additional information about the flags.
If the flags are zero (0x0), the global connection default from
NetworkManager.conf is honored. If still unspecified, the fallback
is "enabled,subflow". Note that this means that MPTCP is by
default done depending on the "/proc/sys/net/mptcp/enabled"
sysctl.
NetworkManager does not change the MPTCP limits nor enable MPTCP
via "/proc/sys/net/mptcp/enabled". That is a host configuration
which the admin can change via sysctl and ip-mptcp.
Strict reverse path filtering (rp_filter) breaks many MPTCP use
cases, so when MPTCP handling for IPv4 addresses on the interface
is enabled, NetworkManager would loosen the strict reverse path
filtering (1) to the loose setting (2).
Format: uint32
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (NetworkManager bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2022:8265 |