NetworkManager/man
Thomas Haller 56d0d35516
mptcp: rework "connection.mptcp-flags" for enabling MPTCP
1) The "enabled-on-global-iface" flag was odd. Instead, have only
and "enabled" flag and skip (by default) endpoints on interface
that have no default route. With the new flag "also-without-default-route",
this can be overruled. So previous "enabled-on-global-default" now is
the same as "enabled", and "enabled" from before behaves now like
"enabled,also-without-default-route".

2) What was also odd, as that the fallback default value for the flags
depends on "/proc/sys/net/mptcp/enabled". There was not one fixed
fallback default, instead the used fallback value was either
"enabled-on-global-iface,subflow" or "disabled".
Usually that is not a problem (e.g. the default value for
"ipv6.ip6-privacy" also depends on use_tempaddr sysctl). In this case
it is a problem, because the mptcp-flags (for better or worse) encode
different things at the same time.
Consider that the mptcp-flags can also have their default configured in
"NetworkManager.conf", a user who wants to switch the address flags
could previously do:

  [connection.mptcp]
  connection.mptcp-flags=0x32   # enabled-on-global-iface,signal,subflow

but then the global toggle "/proc/sys/net/mptcp/enabled" was no longer
honored. That means, MPTCP handling was always on, even if the sysctl was
disabled. Now, "enabled" means that it's only enabled if the sysctl
is enabled too. Now the user could write to "NetworkManager.conf"

  [connection.mptcp]
  connection.mptcp-flags=0x32   # enabled,signal,subflow

and MPTCP handling would still be disabled unless the sysctl
is enabled.

There is now also a new flag "also-without-sysctl", so if you want
to really enable MPTCP handling regardless of the sysctl, you can.
The point of that might be, that we still can configure endpoints,
even if kernel won't do anything with them. Then you could just flip
the sysctl, and it would start working (as NetworkManager configured
the endpoints already).

Fixes: eb083eece5 ('all: add NMMptcpFlags and connection.mptcp-flags property')
(cherry picked from commit c00873e08f)
2022-08-25 23:12:53 +02:00
..
common.ent.in build: allow configuring default for wifi.backend setting 2022-01-04 06:41:37 +01:00
meson.build man: add NetworkManager-wait-online.service.8 manual 2022-03-02 16:09:16 +01:00
NetworkManager-dispatcher.xml man: fix letter case of values for CONNECTIVITY_STATE in NetworkManager-dispatcher 2022-07-22 11:51:20 +02:00
NetworkManager-wait-online.service.xml man: extend man NetworkManager-wait-online.service with examples 2022-06-30 10:19:32 +02:00
NetworkManager.conf.xml mptcp: rework "connection.mptcp-flags" for enabling MPTCP 2022-08-25 23:12:53 +02:00
NetworkManager.xml man: show example how to enable logging in NetworkManager 2022-08-09 10:20:58 +02:00
nm-cloud-setup.xml cloud-setup: use suppress_prefixlength rule to honor non-default-routes in the main table 2021-09-16 17:30:25 +02:00
nm-initrd-generator.xml man/nm-initrd-generator: add missing command line options 2022-07-14 21:32:48 +02:00
nm-online.xml man: add NetworkManager-wait-online.service.8 manual 2022-03-02 16:09:16 +01:00
nm-openvswitch.xml man: update nm-openswitch example 2019-07-09 12:05:32 +02:00
nm-settings-dbus.xsl doc: preserve paraghraphs in nmcli man pages 2022-07-15 17:25:15 +02:00
nm-settings-ifcfg-rh.xsl nm-settings-ifcfg-rh: fix typo 2022-05-26 11:41:31 +02:00
nm-settings-keyfile.xsl docs: unify "nm-property-infos-*.xml" and "nm-settings-docs-*.xml" (root element) 2020-06-11 10:53:50 +02:00
nm-settings-nmcli.xsl Support new attribute tag description-docbook 2021-06-23 08:59:45 -04:00
nmcli-examples.xml nmcli/devices: add "checkpoint" command 2022-06-15 12:26:08 +02:00
nmcli.xml nmcli/devices: add "checkpoint" command 2022-06-15 12:26:08 +02:00
nmtui.1.in man: update version number and dates in manual pages 2016-03-09 10:11:27 +01:00
nmtui.xml man: turn the manual page cross-references into links 2016-06-21 18:40:13 +02:00