NetworkManager/src/libnmc-setting
Matthieu Baerts (NGI0) 2b03057de0 mptcp: add 'laminar' endpoint support
This new endpoint type has been recently added to the kernel in v6.18
[1]. It will be used to create new subflows from the associated address
to additional addresses announced by the other peer. This will be done
if allowed by the MPTCP limits, and if the associated address is not
already being used by another subflow from the same MPTCP connection.

Note that the fullmesh flag takes precedence over the laminar one.
Without any of these two flags, the path-manager will create new
subflows to additional addresses announced by the other peer by
selecting the source address from the routing tables, which is harder to
configure if the announced address is not known in advance.

The support of the new flag is easy: simply by declaring a new flag for
NM, and adding it in the related helpers and existing checks looking at
the different MPTCP endpoint. The documentation now references the new
endpoint type.

Note that only the new 'define' has been added in the Linux header file:
this file has changed a bit since the last sync, now split in two files.
Only this new line is needed, so the minimum has been modified here.

Link: https://git.kernel.org/torvalds/c/539f6b9de39e [1]
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
2025-11-19 12:54:09 +00:00
..
tests libnm-client: Add public nm_conn_wireguard_import() func 2022-07-21 14:53:26 +02:00
meson.build meson: remove deprecated ExternalProgram.path 2024-04-04 08:13:38 +00:00
nm-meta-setting-access.c all: use nm_g_array_{index,first,last,index_p}() instead of g_array_index() 2022-09-15 12:39:07 +02:00
nm-meta-setting-access.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-meta-setting-base-impl.c libnm-core: set ovs-dpdk and ovs-patch as non-base settings 2025-04-14 13:39:13 +02:00
nm-meta-setting-base-impl.h libnm, nmcli: introduce new "prefix-delegation" setting 2025-04-02 11:21:59 +02:00
nm-meta-setting-base.h build: move "clients/common/" to "src/libnmc-{base,setting}/" 2021-03-02 08:38:25 +01:00
nm-meta-setting-desc.c cli: add support for connection.dnssec 2025-10-13 11:57:53 +02:00
nm-meta-setting-desc.h core: rename NM_STATE_ASLEEP to NM_STATE_DISABLED 2025-09-23 09:17:03 +02:00
README.md all: add some README.md files describing the purpose of our sources 2021-08-19 17:51:11 +02:00
settings-docs.h.in mptcp: add 'laminar' endpoint support 2025-11-19 12:54:09 +00:00

libnmc-setting

A client library on top of libnm (and libnm-base). Like libnmc-base, this is a helper library that a libnm client could use.

But its purpose is more specific. It's mainly about providing a generic API for handling connection properties. As such, it's only used by nmcli and in practice also specific to nmcli.

Theoretically, the API is supposed to be generic, so we could imagine another client that uses this beside nmcli.

Like libnm-base, this has a similar purpose and application as ../libnm-client-aux-extern/, the difference is that it's even more specific.