NetworkManager/src/libnmc-setting
Íñigo Huguet 51fc8af385 core: rename NM_STATE_ASLEEP to NM_STATE_DISABLED
When we do `nmcli networking off` it's shown as state "sleeping". This
is confusing, and the only reason is that we share internally code to
handle both situations in a similar way.

Rename the state to the more generic name "disabled", situation that can
happen either because of sleeping or networking off.

Clients cannot differentiate the exact reason only with the NMState value,
but better that they show "network off" as this is the most common reason
that they will be able to display. If the system is suspending, there will
be only a short period of time that they can show the state, and showing
"network off" is not wrong because that's what NM has done as a response
to suspend.

In the logs, let's make explicit the exact reason why state is changing
to DISABLED: sleeping or networking off.

Logs before:
  manager: disable requested (sleeping: no  enabled: yes)
  manager: NetworkManager state is now ASLEEP

Logs after:
  manager: disable requested (sleeping: no  enabled: yes)
  manager: NetworkManager state is now DISABLED (NEWORKING OFF)

State before:
  $ nmcli general
  STATE  ...
  asleep ...

State after:
  $ nmcli general
  STATE       ...
  network off ...

(cherry picked from commit 3355ba9380)
2025-11-17 14:41:53 +01: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 libnm: introduce hsr.interlink property 2025-11-17 14:41:49 +01:00
nm-meta-setting-desc.h core: rename NM_STATE_ASLEEP to NM_STATE_DISABLED 2025-11-17 14:41:53 +01: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 libnm: introduce hsr.interlink property 2025-11-17 14:41:49 +01: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.