NetworkManager/src/libnm-core-impl
Wen Liang 51ea910cc2 device: Support configuring dhcp-send-hostname globally
The user does not want to send machine hostname to the DHCP server
globally by default to avoid ddns record getting created in IPAM.
otherwise, IPAM creates ddns records which might interfere with user's
regular host record. Thus, introduce the ternary property
dhcp_send_hostname_v2 to warrant this behavior.

Notice that we set the GSpec of dhcp-send-hostname-v2 to int, because
defining it as enum would make that it cannot be expanded in a backwards
compatible way if we need to add more values: old clients using libnm
would reject it due to the new value being unknown. Follow the same
strategy than _nm_setting_property_define_direct_enum, defining the
NMSettInfoPropertType as enum, but the glib's GSpec as int.

Resolves: https://issues.redhat.com/browse/RHEL-56565
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2029
https://gitlab.freedesktop.org/NetworkManager/NetworkManager-ci/-/merge_requests/1765
2024-10-24 17:03:10 -04:00
..
tests device: Support configuring dhcp-send-hostname globally 2024-10-24 17:03:10 -04:00
gen-metadata-nm-settings-libnm-core.c libnm/trivial: fix style 2022-11-10 14:41:38 +01:00
gen-metadata-nm-settings-libnm-core.xml.in device: Support configuring dhcp-send-hostname globally 2024-10-24 17:03:10 -04:00
meson.build ipvlan: add support to IPVLAN interface 2024-09-18 13:19:42 +02:00
nm-connection-private.h src: drop most slave references from the code 2024-08-09 15:47:32 +02:00
nm-connection.c device: Support configuring dhcp-send-hostname globally 2024-10-24 17:03:10 -04:00
nm-default-libnm-core.h libnm: move nm-errors.h include away from nm-connection.h 2022-11-13 23:36:37 +01:00
nm-errors.c libnm: don't depend nm-crypto on "nm-error.h" 2022-03-29 11:56:03 +02:00
nm-keyfile-utils.c glib-aux: drop nm_str_buf_init() for NM_STR_BUF_INIT() 2022-05-09 19:18:30 +02:00
nm-keyfile.c format: run nm-code-format 2024-10-04 11:07:35 +02:00
nm-meta-setting-base-impl.c format: run nm-code-format 2024-10-04 11:07:35 +02:00
nm-setting-6lowpan.c src: drop most slave references from the code 2024-08-09 15:47:32 +02:00
nm-setting-8021x.c doc: remove explanations about certificate schemes from nmcli 2024-04-26 07:30:04 +00:00
nm-setting-adsl.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-bluetooth.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-bond-port.c src: drop most slave references from the code 2024-08-09 15:47:32 +02:00
nm-setting-bond.c libnm: embed private structure in NMSetting and avoid g_type_class_add_private() 2023-10-31 11:29:37 +01:00
nm-setting-bridge-port.c src: drop most slave references from the code 2024-08-09 15:47:32 +02:00
nm-setting-bridge.c format: run nm-code-format 2024-10-04 11:07:35 +02:00
nm-setting-cdma.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-connection.c format: run nm-code-format 2024-10-04 11:07:35 +02:00
nm-setting-dcb.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-dummy.c libnm: embed private structure in NMSetting and avoid g_type_class_add_private() 2023-10-31 11:29:37 +01:00
nm-setting-ethtool.c ethtool: introduce EEE support 2023-11-03 15:41:21 +00:00
nm-setting-generic.c libnm: add generic.device-handler property 2024-02-21 11:16:01 +01:00
nm-setting-gsm.c wwan: added additional initial eps bearer settings 2024-10-17 07:53:49 +02:00
nm-setting-hostname.c libnm: actually export a lot of routines that were supposed to be public 2022-11-08 11:43:00 +01:00
nm-setting-hsr.c libnm: drop some unnecessary direct_string_allow_empty 2024-01-23 09:43:27 +01:00
nm-setting-infiniband.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-ip-config.c device: Support configuring dhcp-send-hostname globally 2024-10-24 17:03:10 -04:00
nm-setting-ip-tunnel.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-ip4-config.c libnm,nmcli: introduce new ipv4.dhcp-ipv6-only-preferred property 2024-10-23 15:01:18 +02:00
nm-setting-ip6-config.c typo fix: identifer -> identifier 2024-05-23 10:22:33 +00:00
nm-setting-ipvlan.c ipvlan: add support to IPVLAN interface 2024-09-18 13:19:42 +02:00
nm-setting-link.c all: add "link" setting 2023-03-02 16:51:16 +01:00
nm-setting-loopback.c libnm: use nm_setting_connection_get_controller() where possible 2024-03-12 09:54:31 +01:00
nm-setting-macsec.c src: drop most slave references from the code 2024-08-09 15:47:32 +02:00
nm-setting-macvlan.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-match.c libnm: add property_type argument to _nm_setting_property_define_direct_strv 2024-03-11 11:42:19 +01:00
nm-setting-olpc-mesh.c libnm: embed private structure in NMSetting and avoid g_type_class_add_private() 2023-10-31 11:29:37 +01:00
nm-setting-ovs-bridge.c src: drop most master references from the code 2024-08-09 15:47:32 +02:00
nm-setting-ovs-dpdk.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-ovs-external-ids.c src: drop most slave references from the code 2024-08-09 15:47:32 +02:00
nm-setting-ovs-interface.c src: drop most slave references from the code 2024-08-09 15:47:32 +02:00
nm-setting-ovs-other-config.c doc: replace all (allow-none) annotations by (optional) and/or (nullable) 2023-03-27 11:49:43 +02:00
nm-setting-ovs-patch.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-ovs-port.c src: drop most slave references from the code 2024-08-09 15:47:32 +02:00
nm-setting-ppp.c libnm: embed private structure in NMSetting and avoid g_type_class_add_private() 2023-10-31 11:29:37 +01:00
nm-setting-pppoe.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-private.h device: Support configuring dhcp-send-hostname globally 2024-10-24 17:03:10 -04:00
nm-setting-proxy.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-serial.c libnm: embed private structure in NMSetting and avoid g_type_class_add_private() 2023-10-31 11:29:37 +01:00
nm-setting-sriov.c format: run nm-code-format 2024-10-04 11:07:35 +02:00
nm-setting-tc-config.c libnm: add "description:" for overrides with doctext 2023-05-19 12:51:59 +02:00
nm-setting-team-port.c src: drop most slave references from the code 2024-08-09 15:47:32 +02:00
nm-setting-team.c src: drop most slave references from the code 2024-08-09 15:47:32 +02:00
nm-setting-tun.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-user.c doc: replace all (allow-none) annotations by (optional) and/or (nullable) 2023-03-27 11:49:43 +02:00
nm-setting-veth.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-vlan.c format: run nm-code-format 2024-10-04 11:07:35 +02:00
nm-setting-vpn.c vpn: handle hint tags in the daemon 2024-06-18 14:00:38 +00:00
nm-setting-vrf.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-vxlan.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-wifi-p2p.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-wimax.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-wired.c format: run nm-code-format 2024-10-04 11:07:35 +02:00
nm-setting-wireguard.c format: run nm-code-format 2024-10-04 11:07:35 +02:00
nm-setting-wireless-security.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting-wireless.c libnm,nmcli: add a 'wifi.channel-width' setting 2024-07-10 14:53:32 +02:00
nm-setting-wpan.c libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-setting.c format: run nm-code-format 2024-10-04 11:07:35 +02:00
nm-simple-connection.c libnm: embed private structure in NMSetting and avoid g_type_class_add_private() 2023-10-31 11:29:37 +01:00
nm-team-utils.c format: run nm-code-format 2024-10-04 11:07:35 +02:00
nm-team-utils.h src: drop most master references from the code 2024-08-09 15:47:32 +02:00
nm-utils-private.h format: run nm-code-format 2024-10-04 11:07:35 +02:00
nm-utils.c format: run nm-code-format 2024-10-04 11:07:35 +02:00
nm-vpn-editor-plugin.c libnm/vpn-editor-plugin: add a comment on a design blunder 2024-10-05 23:06:58 +02:00
nm-vpn-plugin-info.c all: use nm_strv_empty_new() helper 2023-11-30 15:53:21 +01:00
README.md build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00

libnm-core-impl

NetworkManager provides a client library libnm. NetworkManager core does not (dynamically) link against all of libnm. Instead, it statically links against a part of it. That part is the static helper library libnm-core-impl.

libnm-core-impl implements (and provides) the API from libnm-core-public, which is part of the public API of libnm. In this form, libnm-core-impl is part of the implementation of libnm. It also implements (and provides) an internal API libnm-core-intern which can only be used by those who link statically against libnm-core-impl.

Only NetworkManager core and libnm are allowed to statically link with libnm-core-impl. Consequently, only those are allowed to include libnm-core-intern.

This directory should not be added to the include search path of other components as they are only allowed to include libnm-core-public and libnm-core-intern.