diff --git a/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.c b/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.c
index 49b9cdd51e..18e21cbb7d 100644
--- a/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.c
+++ b/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.c
@@ -5,6 +5,9 @@
#include "libnm-glib-aux/nm-str-buf.h"
#include "libnm-core-intern/nm-meta-setting-base.h"
#include "libnm-core-intern/nm-core-internal.h"
+#include "libnm-base/nm-ethtool-base.h"
+
+#include "libnm-core-public/nm-setting-ethtool.h"
#define INDENT 4
@@ -37,45 +40,48 @@ main(int argc, char *argv[])
const NMSettInfoSetting *sett_info_settings = nmtst_sett_info_settings();
NMMetaSettingType meta_type;
- g_print("\n");
+ g_print(
+ "\n");
g_print("\n");
for (meta_type = 0; meta_type < _NM_META_SETTING_TYPE_NUM; meta_type++) {
const NMSettInfoSetting *sis = &sett_info_settings[meta_type];
@@ -130,6 +136,24 @@ main(int argc, char *argv[])
g_print("\n%s/>\n", _indent_level(2 * INDENT + 10));
}
+ if (nm_streq(msi->setting_name, NM_SETTING_ETHTOOL_SETTING_NAME)) {
+ NMEthtoolID ethtool_id;
+
+ /* NMSettingEthtool's properties are "gendata" options. They are implemented differently. */
+ for (ethtool_id = _NM_ETHTOOL_ID_FIRST; ethtool_id <= _NM_ETHTOOL_ID_LAST;
+ ethtool_id++) {
+ g_print("%soptname));
+ g_print(
+ "\n%sdbus-type=%s",
+ _indent_level(2 * INDENT + 10),
+ _xml_escape_attr(&sbuf1,
+ (const char *) nm_ethtool_id_get_variant_type(ethtool_id)));
+ g_print("\n%sis-setting-option=\"1\"", _indent_level(2 * INDENT + 10));
+ g_print("\n%s/>\n", _indent_level(2 * INDENT + 10));
+ }
+ }
+
g_print("%s\n", _indent_level(INDENT));
}
g_print("\n");
diff --git a/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in b/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in
index e1bfd9d6a0..77bbdcca53 100644
--- a/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in
+++ b/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in
@@ -35,6 +35,8 @@
that should be used instead.
"gprop-type": if this is a GObject property in the NMSetting class, this
is the GParamSpec.value_type of the property.
+ "is-setting-option": whether the property is implemented in libnm's NMSetting
+ via the nm_setting_option_*() API.
-->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+