NetworkManager/src/libnm-core-aux-intern
Matthieu Baerts (NGI0) 8caa781270 mptcp: set the laminar flag by default
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>
2025-11-19 12:54:09 +00:00
..
tests ip: configurable address pool and lease time of DHCP server in shared mode 2024-12-11 09:20:15 +01:00
meson.build ip: configurable address pool and lease time of DHCP server in shared mode 2024-12-11 09:20:15 +01:00
nm-auth-subject.c all: use NM_MIN() instead of MIN() 2023-11-15 09:32:20 +01:00
nm-auth-subject.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-common-macros.h wifi: add "wifi.cloned-mac-address=stable-ssid" 2023-11-16 13:07:54 +01:00
nm-libnm-core-utils.c dns: return error from nm_dns_uri_parse() 2025-08-14 09:40:26 +02:00
nm-libnm-core-utils.h mptcp: set the laminar flag by default 2025-11-19 12:54:09 +00:00
README.md build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00

libnm-core-aux-intern

libnm-core-aux-intern is a static library that:

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:

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".