diff options
| author | Michael Biebl <biebl@debian.org> | 2026-05-14 19:21:22 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2026-05-14 19:21:22 +0200 |
| commit | 869e9027026cdbb15d4e4a6327ff41d2697858eb (patch) | |
| tree | 52edec7f935ff1bbb425c3515c6e49e6b8b0e28b /src/libnm-core-public | |
| parent | 067fb576988f685e83ac8b0ae690334aff547c85 (diff) | |
New upstream version 1.56.1 upstream/1.56.1
Diffstat (limited to 'src/libnm-core-public')
| -rw-r--r-- | src/libnm-core-public/meson.build | 1 | ||||
| -rw-r--r-- | src/libnm-core-public/nm-connection.h | 6 | ||||
| -rw-r--r-- | src/libnm-core-public/nm-core-types.h | 1 | ||||
| -rw-r--r-- | src/libnm-core-public/nm-dbus-interface.h | 51 | ||||
| -rw-r--r-- | src/libnm-core-public/nm-setting-geneve.h | 74 | ||||
| -rw-r--r-- | src/libnm-core-public/nm-version-macros.h.in | 1 | ||||
| -rw-r--r-- | src/libnm-core-public/nm-version.h | 6 |
7 files changed, 138 insertions, 2 deletions
diff --git a/src/libnm-core-public/meson.build b/src/libnm-core-public/meson.build index 086801d9..2a4f143f 100644 --- a/src/libnm-core-public/meson.build +++ b/src/libnm-core-public/meson.build @@ -22,6 +22,7 @@ libnm_core_headers = files( 'nm-setting-dummy.h', 'nm-setting-ethtool.h', 'nm-setting-generic.h', + 'nm-setting-geneve.h', 'nm-setting-gsm.h', 'nm-setting-hsr.h', 'nm-setting-hostname.h', diff --git a/src/libnm-core-public/nm-connection.h b/src/libnm-core-public/nm-connection.h index ff3e0f92..e14e23c2 100644 --- a/src/libnm-core-public/nm-connection.h +++ b/src/libnm-core-public/nm-connection.h @@ -206,8 +206,10 @@ NMSettingCdma *nm_connection_get_setting_cdma(NMConnection *connection); NMSettingConnection *nm_connection_get_setting_connection(NMConnection *connection); NMSettingDcb *nm_connection_get_setting_dcb(NMConnection *connection); NM_AVAILABLE_IN_1_8 -NMSettingDummy *nm_connection_get_setting_dummy(NMConnection *connection); -NMSettingGeneric *nm_connection_get_setting_generic(NMConnection *connection); +NMSettingDummy *nm_connection_get_setting_dummy(NMConnection *connection); +NMSettingGeneric *nm_connection_get_setting_generic(NMConnection *connection); +NM_AVAILABLE_IN_1_56_1 +NMSettingGeneve *nm_connection_get_setting_geneve(NMConnection *connection); NMSettingGsm *nm_connection_get_setting_gsm(NMConnection *connection); NMSettingInfiniband *nm_connection_get_setting_infiniband(NMConnection *connection); NM_AVAILABLE_IN_1_2 diff --git a/src/libnm-core-public/nm-core-types.h b/src/libnm-core-public/nm-core-types.h index 617d6b74..81743e31 100644 --- a/src/libnm-core-public/nm-core-types.h +++ b/src/libnm-core-public/nm-core-types.h @@ -27,6 +27,7 @@ typedef struct _NMSettingConnection NMSettingConnection; typedef struct _NMSettingDcb NMSettingDcb; typedef struct _NMSettingDummy NMSettingDummy; typedef struct _NMSettingEthtool NMSettingEthtool; +typedef struct _NMSettingGeneve NMSettingGeneve; typedef struct _NMSettingGeneric NMSettingGeneric; typedef struct _NMSettingGsm NMSettingGsm; typedef struct _NMSettingHostname NMSettingHostname; diff --git a/src/libnm-core-public/nm-dbus-interface.h b/src/libnm-core-public/nm-dbus-interface.h index 42bff04a..513d1fa3 100644 --- a/src/libnm-core-public/nm-dbus-interface.h +++ b/src/libnm-core-public/nm-dbus-interface.h @@ -36,6 +36,7 @@ #define NM_DBUS_INTERFACE_DEVICE_BRIDGE NM_DBUS_INTERFACE_DEVICE ".Bridge" #define NM_DBUS_INTERFACE_DEVICE_DUMMY NM_DBUS_INTERFACE_DEVICE ".Dummy" #define NM_DBUS_INTERFACE_DEVICE_GENERIC NM_DBUS_INTERFACE_DEVICE ".Generic" +#define NM_DBUS_INTERFACE_DEVICE_GENEVE NM_DBUS_INTERFACE_DEVICE ".Geneve" #define NM_DBUS_INTERFACE_DEVICE_GRE NM_DBUS_INTERFACE_DEVICE ".Gre" #define NM_DBUS_INTERFACE_DEVICE_HSR NM_DBUS_INTERFACE_DEVICE ".Hsr" #define NM_DBUS_INTERFACE_DEVICE_INFINIBAND NM_DBUS_INTERFACE_DEVICE ".Infiniband" @@ -250,6 +251,7 @@ typedef enum { * @NM_DEVICE_TYPE_LOOPBACK: a loopback interface. Since: 1.42. * @NM_DEVICE_TYPE_HSR: A HSR/PRP device. Since: 1.46. * @NM_DEVICE_TYPE_IPVLAN: A IPVLAN device. Since: 1.52. + * @NM_DEVICE_TYPE_GENEVE: A GENEVE device. Since: 1.58, 1.56.1. * * #NMDeviceType values indicate the type of hardware represented by a * device object. @@ -290,6 +292,7 @@ typedef enum { NM_DEVICE_TYPE_LOOPBACK = 32, NM_DEVICE_TYPE_HSR = 33, NM_DEVICE_TYPE_IPVLAN = 34, + NM_DEVICE_TYPE_GENEVE = 35, } NMDeviceType; /** @@ -1246,6 +1249,54 @@ typedef enum /*< flags >*/ { } NMDeviceReapplyFlags; /** + * NMDeviceManaged: + * @NM_DEVICE_MANAGED_NO: the device is not managed. + * @NM_DEVICE_MANAGED_YES: the device is managed. + * @NM_DEVICE_MANAGED_RESET: reset the device managed state to the default value. + * + * Values for the SetManaged() D-Bus call of a device and nm_device_set_managed_async(). + * + * Since: 1.58, 1.56.1 + */ +typedef enum { + NM_DEVICE_MANAGED_NO = 0, + NM_DEVICE_MANAGED_YES = 1, + NM_DEVICE_MANAGED_RESET = 2, +} NMDeviceManaged; + +/** + * NMDeviceManagedFlags: + * @NM_DEVICE_MANAGED_FLAGS_NONE: no flag set. + * @NM_DEVICE_MANAGED_FLAGS_RUNTIME: to set the device managed state to the runtime value. + * @NM_DEVICE_MANAGED_FLAGS_PERMANENT: to set the device managed state to the permanent (on disk) value. + * @NM_DEVICE_MANAGED_FLAGS_PERMANENT_BY_NAME: to match the device by name, not by MAC address. + * @NM_DEVICE_MANAGED_FLAGS_PERMANENT_BY_MAC: to match the device by MAC address, not by name. + * @NM_DEVICE_MANAGED_FLAGS_SET_ADMIN_STATE: to set the administrative state of the + * device to up if the managed state is %NM_DEVICE_MANAGED_YES, and down if the managed state + * is %NM_DEVICE_MANAGED_NO. If the flag is not set, the administrative state is not changed. + * The flag is ignored for %NM_DEVICE_MANAGED_RESET. + * @NM_DEVICE_MANAGED_FLAGS_ALL: all flags. + * + * Flags for the SetManaged() D-Bus call of a device and nm_device_set_managed_async(). + * + * %NM_DEVICE_MANAGED_FLAGS_PERMANENT_BY_NAME and %NM_DEVICE_MANAGED_FLAGS_PERMANENT_BY_MAC + * are mutually exclusive, and they only make sense together with %NM_DEVICE_MANAGED_FLAGS_PERMANENT. + * If none is set, the matching criteria is selected automatically. + * + * Since: 1.58, 1.56.1 + */ +typedef enum /*< flags >*/ { + NM_DEVICE_MANAGED_FLAGS_NONE = 0, + NM_DEVICE_MANAGED_FLAGS_RUNTIME = 0x1, + NM_DEVICE_MANAGED_FLAGS_PERMANENT = 0x2, + NM_DEVICE_MANAGED_FLAGS_PERMANENT_BY_NAME = 0x4, + NM_DEVICE_MANAGED_FLAGS_PERMANENT_BY_MAC = 0x8, + NM_DEVICE_MANAGED_FLAGS_SET_ADMIN_STATE = 0x10, + + NM_DEVICE_MANAGED_FLAGS_ALL = 0x1F, /* <skip> */ +} NMDeviceManagedFlags; + +/** * NMTernary: * @NM_TERNARY_DEFAULT: use the globally-configured default value. * @NM_TERNARY_FALSE: the option is disabled. diff --git a/src/libnm-core-public/nm-setting-geneve.h b/src/libnm-core-public/nm-setting-geneve.h new file mode 100644 index 00000000..642697dc --- /dev/null +++ b/src/libnm-core-public/nm-setting-geneve.h @@ -0,0 +1,74 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Copyright (C) 2026 Red Hat, Inc. + */ + +#ifndef __NM_SETTING_GENEVE_H__ +#define __NM_SETTING_GENEVE_H__ + +#if !defined(__NETWORKMANAGER_H_INSIDE__) && !defined(NETWORKMANAGER_COMPILATION) +#error "Only <NetworkManager.h> can be included directly." +#endif + +#include "nm-setting.h" + +G_BEGIN_DECLS + +#define NM_TYPE_SETTING_GENEVE (nm_setting_geneve_get_type()) +#define NM_SETTING_GENEVE(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_SETTING_GENEVE, NMSettingGeneve)) +#define NM_SETTING_GENEVE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_SETTING_GENEVE, NMSettingGeneveClass)) +#define NM_IS_SETTING_GENEVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_SETTING_GENEVE)) +#define NM_IS_SETTING_GENEVE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_SETTING_GENEVE)) +#define NM_SETTING_GENEVE_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_SETTING_GENEVE, NMSettingGeneveClass)) + +#define NM_SETTING_GENEVE_SETTING_NAME "geneve" + +#define NM_SETTING_GENEVE_ID "id" +#define NM_SETTING_GENEVE_REMOTE "remote" +#define NM_SETTING_GENEVE_DESTINATION_PORT "destination-port" +#define NM_SETTING_GENEVE_TOS "tos" +#define NM_SETTING_GENEVE_TTL "ttl" +#define NM_SETTING_GENEVE_DF "df" + +/** + * NMSettingGeneveDf: + * @NM_SETTING_GENEVE_DF_UNSET: Don't set the DF flag, packets may be fragmented. + * @NM_SETTING_GENEVE_DF_SET: Always set the DF flag, packets will not be fragmented. + * @NM_SETTING_GENEVE_DF_INHERIT: Inherit the DF flag from the inner IP header. + * + * #NMSettingGeneveDf values indicate how the Don't Fragment (DF) flag should be handled + * in the outer IP header of GENEVE tunnel packets. + * + * Since: 1.58, 1.56.1 + */ +typedef enum { + NM_SETTING_GENEVE_DF_UNSET = 0, + NM_SETTING_GENEVE_DF_SET = 1, + NM_SETTING_GENEVE_DF_INHERIT = 2, +} NMSettingGeneveDf; + +typedef struct _NMSettingGeneveClass NMSettingGeneveClass; + +NM_AVAILABLE_IN_1_56_1 +GType nm_setting_geneve_get_type(void); +NM_AVAILABLE_IN_1_56_1 +NMSetting *nm_setting_geneve_new(void); +NM_AVAILABLE_IN_1_56_1 +guint nm_setting_geneve_get_id(NMSettingGeneve *setting); +NM_AVAILABLE_IN_1_56_1 +const char *nm_setting_geneve_get_remote(NMSettingGeneve *setting); +NM_AVAILABLE_IN_1_56_1 +guint nm_setting_geneve_get_destination_port(NMSettingGeneve *setting); +NM_AVAILABLE_IN_1_56_1 +guint nm_setting_geneve_get_tos(NMSettingGeneve *setting); +NM_AVAILABLE_IN_1_56_1 +guint nm_setting_geneve_get_ttl(NMSettingGeneve *setting); +NM_AVAILABLE_IN_1_56_1 +NMSettingGeneveDf nm_setting_geneve_get_df(NMSettingGeneve *setting); + +G_END_DECLS + +#endif /* __NM_SETTING_GENEVE_H__ */ diff --git a/src/libnm-core-public/nm-version-macros.h.in b/src/libnm-core-public/nm-version-macros.h.in index b8b89a44..fdecfa68 100644 --- a/src/libnm-core-public/nm-version-macros.h.in +++ b/src/libnm-core-public/nm-version-macros.h.in @@ -79,6 +79,7 @@ #define NM_VERSION_1_52 (NM_ENCODE_VERSION(1, 52, 0)) #define NM_VERSION_1_54 (NM_ENCODE_VERSION(1, 54, 0)) #define NM_VERSION_1_56 (NM_ENCODE_VERSION(1, 56, 0)) +#define NM_VERSION_1_56_1 (NM_ENCODE_VERSION(1, 56, 1)) /* For releases, NM_API_VERSION is equal to NM_VERSION. * diff --git a/src/libnm-core-public/nm-version.h b/src/libnm-core-public/nm-version.h index af45b679..6e18acdd 100644 --- a/src/libnm-core-public/nm-version.h +++ b/src/libnm-core-public/nm-version.h @@ -453,6 +453,12 @@ #define NM_AVAILABLE_IN_1_56 #endif +#if NM_VERSION_MAX_ALLOWED < NM_VERSION_1_56_1 +#define NM_AVAILABLE_IN_1_56_1 G_UNAVAILABLE(1, 56.1) +#else +#define NM_AVAILABLE_IN_1_56_1 +#endif + /* * Synchronous API for calling D-Bus in libnm is deprecated. See * https://networkmanager.dev/docs/libnm/latest/usage.html#sync-api |