mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-04-30 12:10:44 +02:00
By default, the MPTCP limits have 'add_addr_accepted' set to 0. It means that when the other peer announces an additional address it can be reached from, the receiver will not try to establish any new subflows to this address. If this limit is increased, and without the new 'laminar' flag, the MPTCP in-kernel path-manager will select the source address by looking at the routing tables to establish this new subflow. This is not ideal: very likely, the source address will be the one linked to the default route and a new subflow from the same interface as the initial one will be created instead of using another path. This is especially problematic when the other peer has set the 'C-flag' in the MPTCP connection request (MP_CAPABLE). This flag can be set to tell the other side that the peer will not accept extra subflows requests sent to its initial IP address and port: typically set by a server using an anycast address, behind a legacy Layer 4 load balancer. It sounds better to add the 'laminar' flag by default to pick the source address from well-defined MPTCP endpoints, rather than relying on routing rules which will likely not pick the most interesting solution. Note that older kernels will accept unsupported flags, and ignore them. So it is fine to have the new flag added by default even if it is not supported. Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> |
||
|---|---|---|
| .. | ||
| tests | ||
| meson.build | ||
| nm-auth-subject.c | ||
| nm-auth-subject.h | ||
| nm-common-macros.h | ||
| nm-libnm-core-utils.c | ||
| nm-libnm-core-utils.h | ||
| README.md | ||
libnm-core-aux-intern
libnm-core-aux-intern is a static library that:
- uses parts of
libnm-core-impl, that are public API oflibnm(i.e.libnm-core-public). - that is statically linked into
libnm-core-impl(and thuslibnmand NetworkManager core. - that can also be statically linked into other users of
libnm.
Basically, it is a static library with utility functions that extends
libnm-core-impl (the part that is public API of libnm),
but it is also used by libnm-core-impl itself.
That means:
- you can use it everywhere where you either statically link
with
libnm-core-impl, or dynamically link withlibnm. - you can even use it inside of
libnm-core-implitself. This is the difference betweenlibnm-core-aux-internandlibnm-core-aux-extern.
Note that libnm-core-aux-intern only uses public API of libnm.
This directory should not be added to the include search path. Instead,
users should fully qualify the include like #include "libnm-core-aux-intern/nm-auth-subject.h".