From a0b295590754b800d2b6a0e55e72425ca1bd24b0 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 4 May 2020 18:09:32 +0200 Subject: [PATCH 01/30] shared: add NM_ENSURE_NOT_NULL() macro --- shared/nm-glib-aux/nm-macros-internal.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/shared/nm-glib-aux/nm-macros-internal.h b/shared/nm-glib-aux/nm-macros-internal.h index 8c0aa21820..637d62bb5d 100644 --- a/shared/nm-glib-aux/nm-macros-internal.h +++ b/shared/nm-glib-aux/nm-macros-internal.h @@ -630,6 +630,14 @@ NM_G_ERROR_MSG (GError *error) NM_CONSTCAST_FULL (type, (obj), _obj, GObject, ##__VA_ARGS__); \ }) +#define NM_ENSURE_NOT_NULL(ptr) \ + ({ \ + typeof (ptr) _ptr = (ptr); \ + \ + nm_assert (_ptr != NULL); \ + _ptr; \ + }) + #if _NM_CC_SUPPORT_GENERIC /* returns @value, if the type of @value matches @type. * This requires support for C11 _Generic(). If no support is From 0b2ecf5e35801ef89129040119e404d0eaeb856e Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 4 May 2020 18:05:56 +0200 Subject: [PATCH 02/30] shared: add NM_G_PARAM_SPEC_GET_DEFAULT_*() helper macros --- shared/nm-glib-aux/nm-shared-utils.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/shared/nm-glib-aux/nm-shared-utils.h b/shared/nm-glib-aux/nm-shared-utils.h index fafaefc45d..fb9e3ac903 100644 --- a/shared/nm-glib-aux/nm-shared-utils.h +++ b/shared/nm-glib-aux/nm-shared-utils.h @@ -1158,6 +1158,25 @@ GParamSpec *nm_g_object_class_find_property_from_gtype (GType gtype, /*****************************************************************************/ +#define _NM_G_PARAM_SPEC_CAST(param_spec, _value_type, _c_type) \ + ({ \ + const GParamSpec *const _param_spec = (param_spec); \ + \ + nm_assert ( !_param_spec \ + || _param_spec->value_type == (_value_type)); \ + ((const _c_type *) _param_spec); \ + }) + +#define NM_G_PARAM_SPEC_CAST_BOOLEAN(param_spec) _NM_G_PARAM_SPEC_CAST (param_spec, G_TYPE_BOOLEAN, GParamSpecBoolean) +#define NM_G_PARAM_SPEC_CAST_UINT(param_spec) _NM_G_PARAM_SPEC_CAST (param_spec, G_TYPE_UINT, GParamSpecUInt) +#define NM_G_PARAM_SPEC_CAST_UINT64(param_spec) _NM_G_PARAM_SPEC_CAST (param_spec, G_TYPE_UINT64, GParamSpecUInt64) + +#define NM_G_PARAM_SPEC_GET_DEFAULT_BOOLEAN(param_spec) (NM_G_PARAM_SPEC_CAST_BOOLEAN (NM_ENSURE_NOT_NULL (param_spec))->default_value) +#define NM_G_PARAM_SPEC_GET_DEFAULT_UINT(param_spec) (NM_G_PARAM_SPEC_CAST_UINT (NM_ENSURE_NOT_NULL (param_spec))->default_value) +#define NM_G_PARAM_SPEC_GET_DEFAULT_UINT64(param_spec) (NM_G_PARAM_SPEC_CAST_UINT64 (NM_ENSURE_NOT_NULL (param_spec))->default_value) + +/*****************************************************************************/ + GType nm_g_type_find_implementing_class_for_property (GType gtype, const char *pname); From 83830badda2fc6ce2e4fd779c836dae7a33d43b2 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 29 Apr 2020 20:40:00 +0200 Subject: [PATCH 03/30] device: use NM_G_PARAM_SPEC_GET_DEFAULT_*() in NMDeviceBridge's commit_option() --- src/devices/nm-device-bridge.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 4ca3b5b043..05d7c8fcc5 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -398,15 +398,12 @@ commit_option (NMDevice *device, NMSetting *setting, const Option *option, gbool /* zero means "unspecified" for some NM properties but isn't in the * allowed kernel range, so reset the property to the default value. */ - if (option->default_if_zero && uval == 0) { - g_value_unset (&val); - g_value_init (&val, G_PARAM_SPEC_VALUE_TYPE (pspec)); - g_param_value_set_default (pspec, &val); - + if ( option->default_if_zero + && uval == 0) { if (pspec->value_type == G_TYPE_UINT64) - uval = g_value_get_uint64 (&val); + uval = NM_G_PARAM_SPEC_GET_DEFAULT_UINT64 (pspec); else - uval = (guint) g_value_get_uint (&val); + uval = NM_G_PARAM_SPEC_GET_DEFAULT_UINT (pspec); } /* Linux kernel bridge interfaces use 'centiseconds' for time-based values. From 9996597666c7bf5a0b52e340c6943b6234dff283 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 29 Apr 2020 18:29:38 +0200 Subject: [PATCH 04/30] ifcfg: refactor GObject accessors in write_bridge_setting() --- .../plugins/ifcfg-rh/nms-ifcfg-rh-writer.c | 93 ++++++------------- 1 file changed, 30 insertions(+), 63 deletions(-) diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c index f3f5647dbc..d6fd82e6bc 100644 --- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c +++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c @@ -1362,55 +1362,22 @@ write_team_setting (NMConnection *connection, shvarFile *ifcfg, gboolean *wired, return TRUE; } -static guint32 -get_setting_default_uint (NMSetting *setting, const char *prop) +static gboolean +get_setting_default_boolean (gpointer setting, const char *prop) { - GParamSpec *pspec; - GValue val = G_VALUE_INIT; - guint32 ret = 0; + return NM_G_PARAM_SPEC_GET_DEFAULT_BOOLEAN (g_object_class_find_property (G_OBJECT_GET_CLASS (setting), prop)); +} - pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (setting), prop); - g_assert (pspec); - g_value_init (&val, pspec->value_type); - g_param_value_set_default (pspec, &val); - g_assert (G_VALUE_HOLDS_UINT (&val)); - ret = g_value_get_uint (&val); - g_value_unset (&val); - return ret; +static guint +get_setting_default_uint (gpointer setting, const char *prop) +{ + return NM_G_PARAM_SPEC_GET_DEFAULT_UINT (g_object_class_find_property (G_OBJECT_GET_CLASS (setting), prop)); } static guint64 -get_setting_default_uint64 (NMSetting *setting, const char *prop) +get_setting_default_uint64 (gpointer setting, const char *prop) { - GParamSpec *pspec; - GValue val = G_VALUE_INIT; - guint32 ret = 0; - - pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (setting), prop); - g_assert (pspec); - g_value_init (&val, pspec->value_type); - g_param_value_set_default (pspec, &val); - g_assert (G_VALUE_HOLDS_UINT64 (&val)); - ret = g_value_get_uint64 (&val); - g_value_unset (&val); - return ret; -} - -static gboolean -get_setting_default_boolean (NMSetting *setting, const char *prop) -{ - GParamSpec *pspec; - GValue val = G_VALUE_INIT; - gboolean ret = 0; - - pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (setting), prop); - g_assert (pspec); - g_value_init (&val, pspec->value_type); - g_param_value_set_default (pspec, &val); - g_assert (G_VALUE_HOLDS_BOOLEAN (&val)); - ret = g_value_get_boolean (&val); - g_value_unset (&val); - return ret; + return NM_G_PARAM_SPEC_GET_DEFAULT_UINT64 (g_object_class_find_property (G_OBJECT_GET_CLASS (setting), prop)); } static gboolean @@ -1478,20 +1445,20 @@ write_bridge_setting (NMConnection *connection, shvarFile *ifcfg, gboolean *wire svSetValueStr (ifcfg, "STP", "yes"); i = nm_setting_bridge_get_forward_delay (s_bridge); - if (i != get_setting_default_uint (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_FORWARD_DELAY)) + if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_FORWARD_DELAY)) svSetValueInt64 (ifcfg, "DELAY", i); g_string_append_printf (opts, "priority=%u", nm_setting_bridge_get_priority (s_bridge)); i = nm_setting_bridge_get_hello_time (s_bridge); - if (i != get_setting_default_uint (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_HELLO_TIME)) { + if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_HELLO_TIME)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "hello_time=%u", i); } i = nm_setting_bridge_get_max_age (s_bridge); - if (i != get_setting_default_uint (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_MAX_AGE)) { + if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_MAX_AGE)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "max_age=%u", i); @@ -1499,7 +1466,7 @@ write_bridge_setting (NMConnection *connection, shvarFile *ifcfg, gboolean *wire } i = nm_setting_bridge_get_ageing_time (s_bridge); - if (i != get_setting_default_uint (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_AGEING_TIME)) { + if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_AGEING_TIME)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "ageing_time=%u", i); @@ -1513,7 +1480,7 @@ write_bridge_setting (NMConnection *connection, shvarFile *ifcfg, gboolean *wire } i = nm_setting_bridge_get_group_forward_mask (s_bridge); - if (i != get_setting_default_uint (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_GROUP_FORWARD_MASK)) { + if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_GROUP_FORWARD_MASK)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "group_fwd_mask=%u", i); @@ -1521,84 +1488,84 @@ write_bridge_setting (NMConnection *connection, shvarFile *ifcfg, gboolean *wire i = nm_setting_bridge_get_multicast_hash_max (s_bridge); - if (i != get_setting_default_uint (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_MULTICAST_HASH_MAX)) { + if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_MULTICAST_HASH_MAX)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "multicast_hash_max=%u", i); } i = nm_setting_bridge_get_multicast_last_member_count (s_bridge); - if (i != get_setting_default_uint (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_COUNT)) { + if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_COUNT)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "multicast_last_member_count=%u", i); } u64 = nm_setting_bridge_get_multicast_last_member_interval (s_bridge); - if (u64 != get_setting_default_uint64 (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL)) { + if (u64 != get_setting_default_uint64 (s_bridge, NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "multicast_last_member_interval=%"G_GUINT64_FORMAT, u64); } u64 = nm_setting_bridge_get_multicast_membership_interval (s_bridge); - if (u64 != get_setting_default_uint64 (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL)) { + if (u64 != get_setting_default_uint64 (s_bridge, NM_SETTING_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "multicast_membership_interval=%"G_GUINT64_FORMAT, u64); } b = nm_setting_bridge_get_multicast_querier (s_bridge); - if (b != get_setting_default_boolean (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_MULTICAST_QUERIER)) { + if (b != get_setting_default_boolean (s_bridge, NM_SETTING_BRIDGE_MULTICAST_QUERIER)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "multicast_querier=%u", (guint) b); } u64 = nm_setting_bridge_get_multicast_querier_interval (s_bridge); - if (u64 != get_setting_default_uint64 (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_MULTICAST_QUERIER_INTERVAL)) { + if (u64 != get_setting_default_uint64 (s_bridge, NM_SETTING_BRIDGE_MULTICAST_QUERIER_INTERVAL)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "multicast_querier_interval=%"G_GUINT64_FORMAT, u64); } u64 = nm_setting_bridge_get_multicast_query_interval (s_bridge); - if (u64 != get_setting_default_uint64 (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_MULTICAST_QUERY_INTERVAL)) { + if (u64 != get_setting_default_uint64 (s_bridge, NM_SETTING_BRIDGE_MULTICAST_QUERY_INTERVAL)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "multicast_query_interval=%"G_GUINT64_FORMAT, u64); } u64 = nm_setting_bridge_get_multicast_query_response_interval (s_bridge); - if (u64 != get_setting_default_uint64 (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL)) { + if (u64 != get_setting_default_uint64 (s_bridge, NM_SETTING_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "multicast_query_response_interval=%"G_GUINT64_FORMAT, u64); } b = nm_setting_bridge_get_multicast_query_use_ifaddr (s_bridge); - if (b != get_setting_default_boolean (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_MULTICAST_QUERY_USE_IFADDR)) { + if (b != get_setting_default_boolean (s_bridge, NM_SETTING_BRIDGE_MULTICAST_QUERY_USE_IFADDR)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "multicast_query_use_ifaddr=%u", (guint) b); } b = nm_setting_bridge_get_multicast_snooping (s_bridge); - if (b != get_setting_default_boolean (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_MULTICAST_SNOOPING)) { + if (b != get_setting_default_boolean (s_bridge, NM_SETTING_BRIDGE_MULTICAST_SNOOPING)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "multicast_snooping=%u", (guint32) b); } i = nm_setting_bridge_get_multicast_startup_query_count (s_bridge); - if (i != get_setting_default_uint (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT)) { + if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "multicast_startup_query_count=%u", i); } u64 = nm_setting_bridge_get_multicast_startup_query_interval (s_bridge); - if (u64 != get_setting_default_uint64 (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL)) { + if (u64 != get_setting_default_uint64 (s_bridge, NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "multicast_startup_query_interval=%"G_GUINT64_FORMAT, u64); @@ -1612,14 +1579,14 @@ write_bridge_setting (NMConnection *connection, shvarFile *ifcfg, gboolean *wire } b = nm_setting_bridge_get_vlan_filtering (s_bridge); - if (b != get_setting_default_boolean (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_VLAN_FILTERING)) { + if (b != get_setting_default_boolean (s_bridge, NM_SETTING_BRIDGE_VLAN_FILTERING)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "vlan_filtering=%u", (guint32) b); } i = nm_setting_bridge_get_vlan_default_pvid (s_bridge); - if (i != get_setting_default_uint (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_VLAN_DEFAULT_PVID)) { + if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_VLAN_DEFAULT_PVID)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "default_pvid=%u", i); @@ -1633,7 +1600,7 @@ write_bridge_setting (NMConnection *connection, shvarFile *ifcfg, gboolean *wire } b = nm_setting_bridge_get_vlan_stats_enabled (s_bridge); - if (b != get_setting_default_boolean (NM_SETTING (s_bridge), NM_SETTING_BRIDGE_VLAN_STATS_ENABLED)) { + if (b != get_setting_default_boolean (s_bridge, NM_SETTING_BRIDGE_VLAN_STATS_ENABLED)) { if (opts->len) g_string_append_c (opts, ' '); g_string_append_printf (opts, "vlan_stats_enabled=%u", (guint) b); From 4338cf3800848b0450a47f9788f1c4f23a23142e Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 14:44:57 +0200 Subject: [PATCH 05/30] ifcfg-rh/trivial: rename variable i in write_bridge_*setting() to indicate integer type --- .../plugins/ifcfg-rh/nms-ifcfg-rh-writer.c | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c index d6fd82e6bc..b9f8161b9c 100644 --- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c +++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c @@ -1420,7 +1420,7 @@ static gboolean write_bridge_setting (NMConnection *connection, shvarFile *ifcfg, gboolean *wired, GError **error) { NMSettingBridge *s_bridge; - guint32 i; + guint32 u32; guint64 u64; gboolean b; const char *s; @@ -1444,32 +1444,32 @@ write_bridge_setting (NMConnection *connection, shvarFile *ifcfg, gboolean *wire if (nm_setting_bridge_get_stp (s_bridge)) { svSetValueStr (ifcfg, "STP", "yes"); - i = nm_setting_bridge_get_forward_delay (s_bridge); - if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_FORWARD_DELAY)) - svSetValueInt64 (ifcfg, "DELAY", i); + u32 = nm_setting_bridge_get_forward_delay (s_bridge); + if (u32 != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_FORWARD_DELAY)) + svSetValueInt64 (ifcfg, "DELAY", u32); g_string_append_printf (opts, "priority=%u", nm_setting_bridge_get_priority (s_bridge)); - i = nm_setting_bridge_get_hello_time (s_bridge); - if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_HELLO_TIME)) { + u32 = nm_setting_bridge_get_hello_time (s_bridge); + if (u32 != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_HELLO_TIME)) { if (opts->len) g_string_append_c (opts, ' '); - g_string_append_printf (opts, "hello_time=%u", i); + g_string_append_printf (opts, "hello_time=%u", u32); } - i = nm_setting_bridge_get_max_age (s_bridge); - if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_MAX_AGE)) { + u32 = nm_setting_bridge_get_max_age (s_bridge); + if (u32 != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_MAX_AGE)) { if (opts->len) g_string_append_c (opts, ' '); - g_string_append_printf (opts, "max_age=%u", i); + g_string_append_printf (opts, "max_age=%u", u32); } } - i = nm_setting_bridge_get_ageing_time (s_bridge); - if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_AGEING_TIME)) { + u32 = nm_setting_bridge_get_ageing_time (s_bridge); + if (u32 != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_AGEING_TIME)) { if (opts->len) g_string_append_c (opts, ' '); - g_string_append_printf (opts, "ageing_time=%u", i); + g_string_append_printf (opts, "ageing_time=%u", u32); } s = nm_setting_bridge_get_group_address (s_bridge); @@ -1479,26 +1479,26 @@ write_bridge_setting (NMConnection *connection, shvarFile *ifcfg, gboolean *wire g_string_append_printf (opts, "group_address=%s", s); } - i = nm_setting_bridge_get_group_forward_mask (s_bridge); - if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_GROUP_FORWARD_MASK)) { + u32 = nm_setting_bridge_get_group_forward_mask (s_bridge); + if (u32 != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_GROUP_FORWARD_MASK)) { if (opts->len) g_string_append_c (opts, ' '); - g_string_append_printf (opts, "group_fwd_mask=%u", i); + g_string_append_printf (opts, "group_fwd_mask=%u", u32); } - i = nm_setting_bridge_get_multicast_hash_max (s_bridge); - if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_MULTICAST_HASH_MAX)) { + u32 = nm_setting_bridge_get_multicast_hash_max (s_bridge); + if (u32 != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_MULTICAST_HASH_MAX)) { if (opts->len) g_string_append_c (opts, ' '); - g_string_append_printf (opts, "multicast_hash_max=%u", i); + g_string_append_printf (opts, "multicast_hash_max=%u", u32); } - i = nm_setting_bridge_get_multicast_last_member_count (s_bridge); - if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_COUNT)) { + u32 = nm_setting_bridge_get_multicast_last_member_count (s_bridge); + if (u32 != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_COUNT)) { if (opts->len) g_string_append_c (opts, ' '); - g_string_append_printf (opts, "multicast_last_member_count=%u", i); + g_string_append_printf (opts, "multicast_last_member_count=%u", u32); } u64 = nm_setting_bridge_get_multicast_last_member_interval (s_bridge); @@ -1557,11 +1557,11 @@ write_bridge_setting (NMConnection *connection, shvarFile *ifcfg, gboolean *wire g_string_append_printf (opts, "multicast_snooping=%u", (guint32) b); } - i = nm_setting_bridge_get_multicast_startup_query_count (s_bridge); - if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT)) { + u32 = nm_setting_bridge_get_multicast_startup_query_count (s_bridge); + if (u32 != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT)) { if (opts->len) g_string_append_c (opts, ' '); - g_string_append_printf (opts, "multicast_startup_query_count=%u", i); + g_string_append_printf (opts, "multicast_startup_query_count=%u", u32); } u64 = nm_setting_bridge_get_multicast_startup_query_interval (s_bridge); @@ -1585,11 +1585,11 @@ write_bridge_setting (NMConnection *connection, shvarFile *ifcfg, gboolean *wire g_string_append_printf (opts, "vlan_filtering=%u", (guint32) b); } - i = nm_setting_bridge_get_vlan_default_pvid (s_bridge); - if (i != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_VLAN_DEFAULT_PVID)) { + u32 = nm_setting_bridge_get_vlan_default_pvid (s_bridge); + if (u32 != get_setting_default_uint (s_bridge, NM_SETTING_BRIDGE_VLAN_DEFAULT_PVID)) { if (opts->len) g_string_append_c (opts, ' '); - g_string_append_printf (opts, "default_pvid=%u", i); + g_string_append_printf (opts, "default_pvid=%u", u32); } s = nm_setting_bridge_get_vlan_protocol (s_bridge); @@ -1628,7 +1628,7 @@ static gboolean write_bridge_port_setting (NMConnection *connection, shvarFile *ifcfg, GError **error) { NMSettingBridgePort *s_port; - guint32 i; + guint32 u32; GString *string; s_port = nm_connection_get_setting_bridge_port (connection); @@ -1638,15 +1638,15 @@ write_bridge_port_setting (NMConnection *connection, shvarFile *ifcfg, GError ** /* Bridge options */ string = g_string_sized_new (32); - i = nm_setting_bridge_port_get_priority (s_port); - if (i != get_setting_default_uint (NM_SETTING (s_port), NM_SETTING_BRIDGE_PORT_PRIORITY)) - g_string_append_printf (string, "priority=%u", i); + u32 = nm_setting_bridge_port_get_priority (s_port); + if (u32 != get_setting_default_uint (NM_SETTING (s_port), NM_SETTING_BRIDGE_PORT_PRIORITY)) + g_string_append_printf (string, "priority=%u", u32); - i = nm_setting_bridge_port_get_path_cost (s_port); - if (i != get_setting_default_uint (NM_SETTING (s_port), NM_SETTING_BRIDGE_PORT_PATH_COST)) { + u32 = nm_setting_bridge_port_get_path_cost (s_port); + if (u32 != get_setting_default_uint (NM_SETTING (s_port), NM_SETTING_BRIDGE_PORT_PATH_COST)) { if (string->len) g_string_append_c (string, ' '); - g_string_append_printf (string, "path_cost=%u", i); + g_string_append_printf (string, "path_cost=%u", u32); } if (nm_setting_bridge_port_get_hairpin_mode (s_port)) { From adf377c2c0601db290ef785df4e9dce12d47f35a Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 10:46:31 +0200 Subject: [PATCH 06/30] libnm: move defines for bridge defaults to "nm-core-internal.h" header --- libnm-core/nm-core-internal.h | 21 +++++++++++++++++++++ libnm-core/nm-setting-bridge.c | 21 --------------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index bcf3cb406b..c1f6fd5fa2 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -100,6 +100,27 @@ #define NM_BR_MIN_MULTICAST_HASH_MAX 1 #define NM_BR_MAX_MULTICAST_HASH_MAX G_MAXUINT32 +#define BRIDGE_AGEING_TIME_DEFAULT 300 +#define BRIDGE_FORWARD_DELAY_DEFAULT 15 +#define BRIDGE_HELLO_TIME_DEFAULT 2 +#define BRIDGE_MAX_AGE_DEFAULT 20 +#define BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEFAULT 2 +#define BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEFAULT 100 +#define BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT 26000 +#define BRIDGE_MULTICAST_QUERIER_INTERVAL_DEFAULT 25500 +#define BRIDGE_MULTICAST_HASH_MAX_DEFAULT 4096 +#define BRIDGE_MULTICAST_QUERIER_DEFAULT FALSE +#define BRIDGE_MULTICAST_QUERY_INTERVAL_DEFAULT 12500 +#define BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEFAULT 1000 +#define BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEFAULT FALSE +#define BRIDGE_MULTICAST_SNOOPING_DEFAULT TRUE +#define BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEFAULT 2 +#define BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEFAULT 3125 +#define BRIDGE_PRIORITY_DEFAULT 0x8000 +#define BRIDGE_STP_DEFAULT TRUE +#define BRIDGE_VLAN_DEFAULT_PVID_DEFAULT 1 +#define BRIDGE_VLAN_STATS_ENABLED_DEFAULT FALSE + /* NM_SETTING_COMPARE_FLAG_INFERRABLE: check whether a device-generated * connection can be replaced by a already-defined connection. This flag only * takes into account properties marked with the %NM_SETTING_PARAM_INFERRABLE diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index 2b6d1ef5d5..76bffbc8f8 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -22,27 +22,6 @@ * necessary for bridging connections. **/ -#define BRIDGE_AGEING_TIME_DEFAULT 300 -#define BRIDGE_FORWARD_DELAY_DEFAULT 15 -#define BRIDGE_HELLO_TIME_DEFAULT 2 -#define BRIDGE_MAX_AGE_DEFAULT 20 -#define BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEFAULT 2 -#define BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEFAULT 100 -#define BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT 26000 -#define BRIDGE_MULTICAST_QUERIER_INTERVAL_DEFAULT 25500 -#define BRIDGE_MULTICAST_HASH_MAX_DEFAULT 4096 -#define BRIDGE_MULTICAST_QUERIER_DEFAULT FALSE -#define BRIDGE_MULTICAST_QUERY_INTERVAL_DEFAULT 12500 -#define BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEFAULT 1000 -#define BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEFAULT FALSE -#define BRIDGE_MULTICAST_SNOOPING_DEFAULT TRUE -#define BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEFAULT 2 -#define BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEFAULT 3125 -#define BRIDGE_PRIORITY_DEFAULT 0x8000 -#define BRIDGE_STP_DEFAULT TRUE -#define BRIDGE_VLAN_DEFAULT_PVID_DEFAULT 1 -#define BRIDGE_VLAN_STATS_ENABLED_DEFAULT FALSE - /*****************************************************************************/ NM_GOBJECT_PROPERTIES_DEFINE (NMSettingBridge, From f5527ecc5a6d66a55ba78faeeb1dde02b1a92e23 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 10:49:58 +0200 Subject: [PATCH 07/30] libnm: adjust bridge defines NM_BRIDGE_MULTICAST_HASH_MAX_* --- libnm-core/nm-core-internal.h | 6 +++--- libnm-core/nm-setting-bridge.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index c1f6fd5fa2..01321eb976 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -97,8 +97,9 @@ #define NM_BR_PORT_MAX_PATH_COST 65535 #define NM_BR_PORT_DEF_PATH_COST 100 -#define NM_BR_MIN_MULTICAST_HASH_MAX 1 -#define NM_BR_MAX_MULTICAST_HASH_MAX G_MAXUINT32 +#define NM_BRIDGE_MULTICAST_HASH_MAX_MIN 1u +#define NM_BRIDGE_MULTICAST_HASH_MAX_DEF 4096u +#define NM_BRIDGE_MULTICAST_HASH_MAX_MAX ((guint) G_MAXUINT32) #define BRIDGE_AGEING_TIME_DEFAULT 300 #define BRIDGE_FORWARD_DELAY_DEFAULT 15 @@ -108,7 +109,6 @@ #define BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEFAULT 100 #define BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT 26000 #define BRIDGE_MULTICAST_QUERIER_INTERVAL_DEFAULT 25500 -#define BRIDGE_MULTICAST_HASH_MAX_DEFAULT 4096 #define BRIDGE_MULTICAST_QUERIER_DEFAULT FALSE #define BRIDGE_MULTICAST_QUERY_INTERVAL_DEFAULT 12500 #define BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEFAULT 1000 diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index 76bffbc8f8..c725376a1d 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1576,7 +1576,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->multicast_last_member_count = BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEFAULT; priv->multicast_last_member_interval = BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEFAULT; priv->multicast_membership_interval = BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT; - priv->multicast_hash_max = BRIDGE_MULTICAST_HASH_MAX_DEFAULT; + priv->multicast_hash_max = NM_BRIDGE_MULTICAST_HASH_MAX_DEF; priv->multicast_snooping = BRIDGE_MULTICAST_SNOOPING_DEFAULT; priv->priority = BRIDGE_PRIORITY_DEFAULT; priv->stp = BRIDGE_STP_DEFAULT; @@ -2082,7 +2082,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_MULTICAST_HASH_MAX] = g_param_spec_uint (NM_SETTING_BRIDGE_MULTICAST_HASH_MAX, "", "", - NM_BR_MIN_MULTICAST_HASH_MAX, NM_BR_MAX_MULTICAST_HASH_MAX, BRIDGE_MULTICAST_HASH_MAX_DEFAULT, + NM_BRIDGE_MULTICAST_HASH_MAX_MIN, NM_BRIDGE_MULTICAST_HASH_MAX_MAX, NM_BRIDGE_MULTICAST_HASH_MAX_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 05d7c8fcc5..487cd28f82 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -276,7 +276,7 @@ static const Option master_options[] = { TRUE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_HASH_MAX, "hash_max", NULL, NULL, - NM_BR_MIN_MULTICAST_HASH_MAX, NM_BR_MAX_MULTICAST_HASH_MAX, 4096, + NM_BRIDGE_MULTICAST_HASH_MAX_MIN, NM_BRIDGE_MULTICAST_HASH_MAX_MAX, NM_BRIDGE_MULTICAST_HASH_MAX_DEF, FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_COUNT, "multicast_last_member_count", NULL, NULL, From f61e354cfa00de200fd69d3eb5c14ae812b84e9a Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 10:49:58 +0200 Subject: [PATCH 08/30] libnm: adjust bridge defines NM_BRIDGE_AGEING_TIME_* --- libnm-core/nm-core-internal.h | 6 +++--- libnm-core/nm-setting-bridge.c | 8 ++++---- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 01321eb976..815510360a 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -88,8 +88,9 @@ #define NM_BR_MAX_MAX_AGE 40 /* IEEE 802.1D-1998 Table 7.4 */ -#define NM_BR_MIN_AGEING_TIME 0 -#define NM_BR_MAX_AGEING_TIME 1000000 +#define NM_BRIDGE_AGEING_TIME_MIN 0u +#define NM_BRIDGE_AGEING_TIME_DEF 300u +#define NM_BRIDGE_AGEING_TIME_MAX 1000000u #define NM_BR_PORT_MAX_PRIORITY 63 #define NM_BR_PORT_DEF_PRIORITY 32 @@ -101,7 +102,6 @@ #define NM_BRIDGE_MULTICAST_HASH_MAX_DEF 4096u #define NM_BRIDGE_MULTICAST_HASH_MAX_MAX ((guint) G_MAXUINT32) -#define BRIDGE_AGEING_TIME_DEFAULT 300 #define BRIDGE_FORWARD_DELAY_DEFAULT 15 #define BRIDGE_HELLO_TIME_DEFAULT 2 #define BRIDGE_MAX_AGE_DEFAULT 20 diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index c725376a1d..7898369ebd 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1224,8 +1224,8 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return FALSE; if (!check_range (priv->ageing_time, - NM_BR_MIN_AGEING_TIME, - NM_BR_MAX_AGEING_TIME, + NM_BRIDGE_AGEING_TIME_MIN, + NM_BRIDGE_AGEING_TIME_MAX, !priv->stp, NM_SETTING_BRIDGE_AGEING_TIME, error)) @@ -1569,7 +1569,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->vlans = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_bridge_vlan_unref); - priv->ageing_time = BRIDGE_AGEING_TIME_DEFAULT; + priv->ageing_time = NM_BRIDGE_AGEING_TIME_DEF; priv->forward_delay = BRIDGE_FORWARD_DELAY_DEFAULT; priv->hello_time = BRIDGE_HELLO_TIME_DEFAULT; priv->max_age = BRIDGE_MAX_AGE_DEFAULT; @@ -1786,7 +1786,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_AGEING_TIME] = g_param_spec_uint (NM_SETTING_BRIDGE_AGEING_TIME, "", "", - NM_BR_MIN_AGEING_TIME, NM_BR_MAX_AGEING_TIME, BRIDGE_AGEING_TIME_DEFAULT, + NM_BRIDGE_AGEING_TIME_MIN, NM_BRIDGE_AGEING_TIME_MAX, NM_BRIDGE_AGEING_TIME_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 487cd28f82..1f71aa8395 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -268,7 +268,7 @@ static const Option master_options[] = { TRUE, TRUE, TRUE }, { NM_SETTING_BRIDGE_AGEING_TIME, "ageing_time", NULL, NULL, - NM_BR_MIN_AGEING_TIME, NM_BR_MAX_AGEING_TIME, 300, + NM_BRIDGE_AGEING_TIME_MIN, NM_BRIDGE_AGEING_TIME_MAX, NM_BRIDGE_AGEING_TIME_DEF, TRUE, TRUE, FALSE }, { NM_SETTING_BRIDGE_GROUP_FORWARD_MASK, "group_fwd_mask", NULL, NULL, From 8ee4dbf7090dc0fd4ae07abb1bd447d698abd37e Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 10:49:58 +0200 Subject: [PATCH 09/30] libnm: adjust bridge defines NM_BRIDGE_FORWARD_DELAY_* --- libnm-core/nm-core-internal.h | 6 +++--- libnm-core/nm-setting-bridge.c | 8 ++++---- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 815510360a..1667159784 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -81,8 +81,9 @@ #define NM_BR_MIN_HELLO_TIME 1 #define NM_BR_MAX_HELLO_TIME 10 -#define NM_BR_MIN_FORWARD_DELAY 2 -#define NM_BR_MAX_FORWARD_DELAY 30 +#define NM_BRIDGE_FORWARD_DELAY_MIN 2u +#define NM_BRIDGE_FORWARD_DELAY_DEF 15u +#define NM_BRIDGE_FORWARD_DELAY_MAX 30u #define NM_BR_MIN_MAX_AGE 6 #define NM_BR_MAX_MAX_AGE 40 @@ -102,7 +103,6 @@ #define NM_BRIDGE_MULTICAST_HASH_MAX_DEF 4096u #define NM_BRIDGE_MULTICAST_HASH_MAX_MAX ((guint) G_MAXUINT32) -#define BRIDGE_FORWARD_DELAY_DEFAULT 15 #define BRIDGE_HELLO_TIME_DEFAULT 2 #define BRIDGE_MAX_AGE_DEFAULT 20 #define BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEFAULT 2 diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index 7898369ebd..1302eb9985 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1200,8 +1200,8 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) } if (!check_range (priv->forward_delay, - NM_BR_MIN_FORWARD_DELAY, - NM_BR_MAX_FORWARD_DELAY, + NM_BRIDGE_FORWARD_DELAY_MIN, + NM_BRIDGE_FORWARD_DELAY_MAX, !priv->stp, NM_SETTING_BRIDGE_FORWARD_DELAY, error)) @@ -1570,7 +1570,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->vlans = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_bridge_vlan_unref); priv->ageing_time = NM_BRIDGE_AGEING_TIME_DEF; - priv->forward_delay = BRIDGE_FORWARD_DELAY_DEFAULT; + priv->forward_delay = NM_BRIDGE_FORWARD_DELAY_DEF; priv->hello_time = BRIDGE_HELLO_TIME_DEFAULT; priv->max_age = BRIDGE_MAX_AGE_DEFAULT; priv->multicast_last_member_count = BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEFAULT; @@ -1726,7 +1726,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_FORWARD_DELAY] = g_param_spec_uint (NM_SETTING_BRIDGE_FORWARD_DELAY, "", "", - 0, NM_BR_MAX_FORWARD_DELAY, BRIDGE_FORWARD_DELAY_DEFAULT, + 0, NM_BRIDGE_FORWARD_DELAY_MAX, NM_BRIDGE_FORWARD_DELAY_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 1f71aa8395..23a373d3aa 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -256,7 +256,7 @@ static const Option master_options[] = { TRUE, FALSE, TRUE }, { NM_SETTING_BRIDGE_FORWARD_DELAY, "forward_delay", NULL, NULL, - 0, NM_BR_MAX_FORWARD_DELAY, 15, + NM_BRIDGE_FORWARD_DELAY_MIN, NM_BRIDGE_FORWARD_DELAY_MAX, NM_BRIDGE_FORWARD_DELAY_DEF, TRUE, TRUE, TRUE}, { NM_SETTING_BRIDGE_HELLO_TIME, "hello_time", NULL, NULL, From 696fae40b78d8c4bf3dee675dd63e2e0a8f933b1 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 10:49:58 +0200 Subject: [PATCH 10/30] libnm: adjust bridge defines NM_BRIDGE_STP_DEF --- libnm-core/nm-core-internal.h | 3 ++- libnm-core/nm-setting-bridge.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 1667159784..1f56e17043 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -103,6 +103,8 @@ #define NM_BRIDGE_MULTICAST_HASH_MAX_DEF 4096u #define NM_BRIDGE_MULTICAST_HASH_MAX_MAX ((guint) G_MAXUINT32) +#define NM_BRIDGE_STP_DEF TRUE + #define BRIDGE_HELLO_TIME_DEFAULT 2 #define BRIDGE_MAX_AGE_DEFAULT 20 #define BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEFAULT 2 @@ -117,7 +119,6 @@ #define BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEFAULT 2 #define BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEFAULT 3125 #define BRIDGE_PRIORITY_DEFAULT 0x8000 -#define BRIDGE_STP_DEFAULT TRUE #define BRIDGE_VLAN_DEFAULT_PVID_DEFAULT 1 #define BRIDGE_VLAN_STATS_ENABLED_DEFAULT FALSE diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index 1302eb9985..c832a22a6f 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1579,7 +1579,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->multicast_hash_max = NM_BRIDGE_MULTICAST_HASH_MAX_DEF; priv->multicast_snooping = BRIDGE_MULTICAST_SNOOPING_DEFAULT; priv->priority = BRIDGE_PRIORITY_DEFAULT; - priv->stp = BRIDGE_STP_DEFAULT; + priv->stp = NM_BRIDGE_STP_DEF; priv->vlan_default_pvid = BRIDGE_VLAN_DEFAULT_PVID_DEFAULT; priv->vlan_stats_enabled = BRIDGE_VLAN_STATS_ENABLED_DEFAULT; priv->multicast_query_interval = BRIDGE_MULTICAST_QUERY_INTERVAL_DEFAULT; @@ -1684,7 +1684,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_STP] = g_param_spec_boolean (NM_SETTING_BRIDGE_STP, "", "", - BRIDGE_STP_DEFAULT, + NM_BRIDGE_STP_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 23a373d3aa..fa8a406c82 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -248,7 +248,7 @@ typedef struct { static const Option master_options[] = { { NM_SETTING_BRIDGE_STP, "stp_state", /* this must stay as the first item */ NULL, NULL, - 0, 1, 1, + FALSE, TRUE, NM_BRIDGE_STP_DEF, FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_PRIORITY, "priority", NULL, NULL, From d7dd4c70d0b218a5a490d18f419aabf99837e46f Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 11:26:17 +0200 Subject: [PATCH 11/30] libnm: adjust bridge defines NM_BRIDGE_HELLO_TIME_* --- libnm-core/nm-core-internal.h | 6 +++--- libnm-core/nm-setting-bridge.c | 8 ++++---- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 1f56e17043..decd18f36d 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -78,8 +78,9 @@ #include "nm-libnm-core-intern/nm-libnm-core-utils.h" /* IEEE 802.1D-1998 timer values */ -#define NM_BR_MIN_HELLO_TIME 1 -#define NM_BR_MAX_HELLO_TIME 10 +#define NM_BRIDGE_HELLO_TIME_MIN 1u +#define NM_BRIDGE_HELLO_TIME_DEF 2u +#define NM_BRIDGE_HELLO_TIME_MAX 10u #define NM_BRIDGE_FORWARD_DELAY_MIN 2u #define NM_BRIDGE_FORWARD_DELAY_DEF 15u @@ -105,7 +106,6 @@ #define NM_BRIDGE_STP_DEF TRUE -#define BRIDGE_HELLO_TIME_DEFAULT 2 #define BRIDGE_MAX_AGE_DEFAULT 20 #define BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEFAULT 2 #define BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEFAULT 100 diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index c832a22a6f..7950a1d5fd 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1208,8 +1208,8 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return FALSE; if (!check_range (priv->hello_time, - NM_BR_MIN_HELLO_TIME, - NM_BR_MAX_HELLO_TIME, + NM_BRIDGE_HELLO_TIME_MIN, + NM_BRIDGE_HELLO_TIME_MAX, !priv->stp, NM_SETTING_BRIDGE_HELLO_TIME, error)) @@ -1571,7 +1571,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->ageing_time = NM_BRIDGE_AGEING_TIME_DEF; priv->forward_delay = NM_BRIDGE_FORWARD_DELAY_DEF; - priv->hello_time = BRIDGE_HELLO_TIME_DEFAULT; + priv->hello_time = NM_BRIDGE_HELLO_TIME_DEF; priv->max_age = BRIDGE_MAX_AGE_DEFAULT; priv->multicast_last_member_count = BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEFAULT; priv->multicast_last_member_interval = BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEFAULT; @@ -1746,7 +1746,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_HELLO_TIME] = g_param_spec_uint (NM_SETTING_BRIDGE_HELLO_TIME, "", "", - 0, NM_BR_MAX_HELLO_TIME, BRIDGE_HELLO_TIME_DEFAULT, + 0, NM_BRIDGE_HELLO_TIME_MAX, NM_BRIDGE_HELLO_TIME_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index fa8a406c82..784084cbd0 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -260,7 +260,7 @@ static const Option master_options[] = { TRUE, TRUE, TRUE}, { NM_SETTING_BRIDGE_HELLO_TIME, "hello_time", NULL, NULL, - 0, NM_BR_MAX_HELLO_TIME, 2, + NM_BRIDGE_HELLO_TIME_MIN, NM_BRIDGE_HELLO_TIME_MAX, NM_BRIDGE_HELLO_TIME_DEF, TRUE, TRUE, TRUE }, { NM_SETTING_BRIDGE_MAX_AGE, "max_age", NULL, NULL, From e2cb0837cc572cab3fc032ff2fb6078fc0a3d8db Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 11:45:27 +0200 Subject: [PATCH 12/30] libnm: adjust bridge defines NM_BRIDGE_MAX_AGE_* --- libnm-core/nm-core-internal.h | 6 +++--- libnm-core/nm-setting-bridge.c | 8 ++++---- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index decd18f36d..8cea7e44c7 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -86,8 +86,9 @@ #define NM_BRIDGE_FORWARD_DELAY_DEF 15u #define NM_BRIDGE_FORWARD_DELAY_MAX 30u -#define NM_BR_MIN_MAX_AGE 6 -#define NM_BR_MAX_MAX_AGE 40 +#define NM_BRIDGE_MAX_AGE_MIN 6u +#define NM_BRIDGE_MAX_AGE_DEF 20u +#define NM_BRIDGE_MAX_AGE_MAX 40u /* IEEE 802.1D-1998 Table 7.4 */ #define NM_BRIDGE_AGEING_TIME_MIN 0u @@ -106,7 +107,6 @@ #define NM_BRIDGE_STP_DEF TRUE -#define BRIDGE_MAX_AGE_DEFAULT 20 #define BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEFAULT 2 #define BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEFAULT 100 #define BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT 26000 diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index 7950a1d5fd..ced8b5bdb7 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1216,8 +1216,8 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return FALSE; if (!check_range (priv->max_age, - NM_BR_MIN_MAX_AGE, - NM_BR_MAX_MAX_AGE, + NM_BRIDGE_MAX_AGE_MIN, + NM_BRIDGE_MAX_AGE_MAX, !priv->stp, NM_SETTING_BRIDGE_MAX_AGE, error)) @@ -1572,7 +1572,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->ageing_time = NM_BRIDGE_AGEING_TIME_DEF; priv->forward_delay = NM_BRIDGE_FORWARD_DELAY_DEF; priv->hello_time = NM_BRIDGE_HELLO_TIME_DEF; - priv->max_age = BRIDGE_MAX_AGE_DEFAULT; + priv->max_age = NM_BRIDGE_MAX_AGE_DEF; priv->multicast_last_member_count = BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEFAULT; priv->multicast_last_member_interval = BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEFAULT; priv->multicast_membership_interval = BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT; @@ -1766,7 +1766,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_MAX_AGE] = g_param_spec_uint (NM_SETTING_BRIDGE_MAX_AGE, "", "", - 0, NM_BR_MAX_MAX_AGE, BRIDGE_MAX_AGE_DEFAULT, + 0, NM_BRIDGE_MAX_AGE_MAX, NM_BRIDGE_MAX_AGE_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 784084cbd0..460faa65fa 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -264,7 +264,7 @@ static const Option master_options[] = { TRUE, TRUE, TRUE }, { NM_SETTING_BRIDGE_MAX_AGE, "max_age", NULL, NULL, - 0, NM_BR_MAX_MAX_AGE, 20, + NM_BRIDGE_MAX_AGE_MIN, NM_BRIDGE_MAX_AGE_MAX, NM_BRIDGE_MAX_AGE_DEF, TRUE, TRUE, TRUE }, { NM_SETTING_BRIDGE_AGEING_TIME, "ageing_time", NULL, NULL, From a690cedcba3dd95535594108a4805f15c626f37c Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 11:47:41 +0200 Subject: [PATCH 13/30] libnm: adjust bridge defines NM_BRIDGE_PRIORITY_* --- libnm-core/nm-core-internal.h | 5 ++++- libnm-core/nm-setting-bridge.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 8cea7e44c7..76ecd8f0e0 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -107,6 +107,10 @@ #define NM_BRIDGE_STP_DEF TRUE +#define NM_BRIDGE_PRIORITY_MIN 0u +#define NM_BRIDGE_PRIORITY_DEF 0x8000u +#define NM_BRIDGE_PRIORITY_MAX ((guint) G_MAXUINT16) + #define BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEFAULT 2 #define BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEFAULT 100 #define BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT 26000 @@ -118,7 +122,6 @@ #define BRIDGE_MULTICAST_SNOOPING_DEFAULT TRUE #define BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEFAULT 2 #define BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEFAULT 3125 -#define BRIDGE_PRIORITY_DEFAULT 0x8000 #define BRIDGE_VLAN_DEFAULT_PVID_DEFAULT 1 #define BRIDGE_VLAN_STATS_ENABLED_DEFAULT FALSE diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index ced8b5bdb7..c2a97e744a 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1578,7 +1578,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->multicast_membership_interval = BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT; priv->multicast_hash_max = NM_BRIDGE_MULTICAST_HASH_MAX_DEF; priv->multicast_snooping = BRIDGE_MULTICAST_SNOOPING_DEFAULT; - priv->priority = BRIDGE_PRIORITY_DEFAULT; + priv->priority = NM_BRIDGE_PRIORITY_DEF; priv->stp = NM_BRIDGE_STP_DEF; priv->vlan_default_pvid = BRIDGE_VLAN_DEFAULT_PVID_DEFAULT; priv->vlan_stats_enabled = BRIDGE_VLAN_STATS_ENABLED_DEFAULT; @@ -1706,7 +1706,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_PRIORITY] = g_param_spec_uint (NM_SETTING_BRIDGE_PRIORITY, "", "", - 0, G_MAXUINT16, BRIDGE_PRIORITY_DEFAULT, + NM_BRIDGE_PRIORITY_MIN, NM_BRIDGE_PRIORITY_MAX, NM_BRIDGE_PRIORITY_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 460faa65fa..f32bd66264 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -252,7 +252,7 @@ static const Option master_options[] = { FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_PRIORITY, "priority", NULL, NULL, - 0, G_MAXUINT16, 0x8000, + NM_BRIDGE_PRIORITY_MIN, NM_BRIDGE_PRIORITY_MAX, NM_BRIDGE_PRIORITY_DEF, TRUE, FALSE, TRUE }, { NM_SETTING_BRIDGE_FORWARD_DELAY, "forward_delay", NULL, NULL, From a7421f8bf2f43efd669a61c79798b79f6c9f4946 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 11:53:18 +0200 Subject: [PATCH 14/30] libnm: adjust bridge defines NM_BRIDGE_PORT_PRIORITY_* --- libnm-core/nm-core-internal.h | 5 +++-- libnm-core/nm-setting-bridge-port.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 76ecd8f0e0..1c1e087d9e 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -95,8 +95,9 @@ #define NM_BRIDGE_AGEING_TIME_DEF 300u #define NM_BRIDGE_AGEING_TIME_MAX 1000000u -#define NM_BR_PORT_MAX_PRIORITY 63 -#define NM_BR_PORT_DEF_PRIORITY 32 +#define NM_BRIDGE_PORT_PRIORITY_MIN 0u +#define NM_BRIDGE_PORT_PRIORITY_DEF 32u +#define NM_BRIDGE_PORT_PRIORITY_MAX 63u #define NM_BR_PORT_MAX_PATH_COST 65535 #define NM_BR_PORT_DEF_PATH_COST 100 diff --git a/libnm-core/nm-setting-bridge-port.c b/libnm-core/nm-setting-bridge-port.c index 72f37af572..92c66e3edc 100644 --- a/libnm-core/nm-setting-bridge-port.c +++ b/libnm-core/nm-setting-bridge-port.c @@ -442,7 +442,7 @@ nm_setting_bridge_port_init (NMSettingBridgePort *setting) priv->vlans = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_bridge_vlan_unref); - priv->priority = NM_BR_PORT_DEF_PRIORITY; + priv->priority = NM_BRIDGE_PORT_PRIORITY_DEF; priv->path_cost = NM_BR_PORT_DEF_PATH_COST; } @@ -500,7 +500,7 @@ nm_setting_bridge_port_class_init (NMSettingBridgePortClass *klass) */ obj_properties[PROP_PRIORITY] = g_param_spec_uint (NM_SETTING_BRIDGE_PORT_PRIORITY, "", "", - 0, NM_BR_PORT_MAX_PRIORITY, NM_BR_PORT_DEF_PRIORITY, + NM_BRIDGE_PORT_PRIORITY_MIN, NM_BRIDGE_PORT_PRIORITY_MAX, NM_BRIDGE_PORT_PRIORITY_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index f32bd66264..85e2df1269 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -344,7 +344,7 @@ static const Option master_options[] = { static const Option slave_options[] = { { NM_SETTING_BRIDGE_PORT_PRIORITY, "priority", NULL, NULL, - 0, NM_BR_PORT_MAX_PRIORITY, NM_BR_PORT_DEF_PRIORITY, + NM_BRIDGE_PORT_PRIORITY_MIN, NM_BRIDGE_PORT_PRIORITY_MAX, NM_BRIDGE_PORT_PRIORITY_DEF, TRUE, FALSE }, { NM_SETTING_BRIDGE_PORT_PATH_COST, "path_cost", NULL, NULL, From 4c3691e52e274855a2a9ce9b9ac2bcda1f16cf8c Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 11:53:18 +0200 Subject: [PATCH 15/30] libnm: adjust bridge defines NM_BRIDGE_PORT_PATH_COST_* --- libnm-core/nm-core-internal.h | 5 +++-- libnm-core/nm-setting-bridge-port.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 1c1e087d9e..83643b9ac7 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -99,8 +99,9 @@ #define NM_BRIDGE_PORT_PRIORITY_DEF 32u #define NM_BRIDGE_PORT_PRIORITY_MAX 63u -#define NM_BR_PORT_MAX_PATH_COST 65535 -#define NM_BR_PORT_DEF_PATH_COST 100 +#define NM_BRIDGE_PORT_PATH_COST_MIN 0u +#define NM_BRIDGE_PORT_PATH_COST_DEF 100u +#define NM_BRIDGE_PORT_PATH_COST_MAX 65535u #define NM_BRIDGE_MULTICAST_HASH_MAX_MIN 1u #define NM_BRIDGE_MULTICAST_HASH_MAX_DEF 4096u diff --git a/libnm-core/nm-setting-bridge-port.c b/libnm-core/nm-setting-bridge-port.c index 92c66e3edc..92ac28ecd2 100644 --- a/libnm-core/nm-setting-bridge-port.c +++ b/libnm-core/nm-setting-bridge-port.c @@ -443,7 +443,7 @@ nm_setting_bridge_port_init (NMSettingBridgePort *setting) priv->vlans = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_bridge_vlan_unref); priv->priority = NM_BRIDGE_PORT_PRIORITY_DEF; - priv->path_cost = NM_BR_PORT_DEF_PATH_COST; + priv->path_cost = NM_BRIDGE_PORT_PATH_COST_DEF; } /** @@ -521,7 +521,7 @@ nm_setting_bridge_port_class_init (NMSettingBridgePortClass *klass) */ obj_properties[PROP_PATH_COST] = g_param_spec_uint (NM_SETTING_BRIDGE_PORT_PATH_COST, "", "", - 0, NM_BR_PORT_MAX_PATH_COST, NM_BR_PORT_DEF_PATH_COST, + NM_BRIDGE_PORT_PATH_COST_MIN, NM_BRIDGE_PORT_PATH_COST_MAX, NM_BRIDGE_PORT_PATH_COST_DEF, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 85e2df1269..3e56d94286 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -348,7 +348,7 @@ static const Option slave_options[] = { TRUE, FALSE }, { NM_SETTING_BRIDGE_PORT_PATH_COST, "path_cost", NULL, NULL, - 0, NM_BR_PORT_MAX_PATH_COST, 100, + NM_BRIDGE_PORT_PATH_COST_MIN, NM_BRIDGE_PORT_PATH_COST_MAX, NM_BRIDGE_PORT_PATH_COST_DEF, TRUE, FALSE }, { NM_SETTING_BRIDGE_PORT_HAIRPIN_MODE, "hairpin_mode", NULL, NULL, From 769b176263123faded0ac9e2aef770299806f2fa Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 12:31:04 +0200 Subject: [PATCH 16/30] libnm: adjust bridge defines NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_* --- libnm-core/nm-core-internal.h | 5 ++++- libnm-core/nm-setting-bridge.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 83643b9ac7..0d4b925dc3 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -113,7 +113,10 @@ #define NM_BRIDGE_PRIORITY_DEF 0x8000u #define NM_BRIDGE_PRIORITY_MAX ((guint) G_MAXUINT16) -#define BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEFAULT 2 +#define NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MIN 0u +#define NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEF 2u +#define NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MAX ((guint) G_MAXUINT32) + #define BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEFAULT 100 #define BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT 26000 #define BRIDGE_MULTICAST_QUERIER_INTERVAL_DEFAULT 25500 diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index c2a97e744a..1d2e58a8eb 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1573,7 +1573,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->forward_delay = NM_BRIDGE_FORWARD_DELAY_DEF; priv->hello_time = NM_BRIDGE_HELLO_TIME_DEF; priv->max_age = NM_BRIDGE_MAX_AGE_DEF; - priv->multicast_last_member_count = BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEFAULT; + priv->multicast_last_member_count = NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEF; priv->multicast_last_member_interval = BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEFAULT; priv->multicast_membership_interval = BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT; priv->multicast_hash_max = NM_BRIDGE_MULTICAST_HASH_MAX_DEF; @@ -2105,7 +2105,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_MULTICAST_LAST_MEMBER_COUNT] = g_param_spec_uint (NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_COUNT, "", "", - 0, G_MAXUINT32, BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEFAULT, + NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MIN, NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MAX, NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 3e56d94286..1926197ed7 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -280,7 +280,7 @@ static const Option master_options[] = { FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_COUNT, "multicast_last_member_count", NULL, NULL, - 0, G_MAXUINT32, 2, + NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MIN, NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MAX, NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEF, FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL, "multicast_last_member_interval", NULL, NULL, From ec9e58ee0143c6d835df107d9578ab254ae1aa72 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 12:34:26 +0200 Subject: [PATCH 17/30] libnm: adjust bridge defines NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_* --- libnm-core/nm-core-internal.h | 5 ++++- libnm-core/nm-setting-bridge.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 0d4b925dc3..5f8f427cad 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -117,7 +117,10 @@ #define NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEF 2u #define NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MAX ((guint) G_MAXUINT32) -#define BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEFAULT 100 +#define NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MIN ((guint64) 0) +#define NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEF ((guint64) 100) +#define NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MAX G_MAXUINT64 + #define BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT 26000 #define BRIDGE_MULTICAST_QUERIER_INTERVAL_DEFAULT 25500 #define BRIDGE_MULTICAST_QUERIER_DEFAULT FALSE diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index 1d2e58a8eb..b6b36cdfde 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1574,7 +1574,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->hello_time = NM_BRIDGE_HELLO_TIME_DEF; priv->max_age = NM_BRIDGE_MAX_AGE_DEF; priv->multicast_last_member_count = NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEF; - priv->multicast_last_member_interval = BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEFAULT; + priv->multicast_last_member_interval = NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEF; priv->multicast_membership_interval = BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT; priv->multicast_hash_max = NM_BRIDGE_MULTICAST_HASH_MAX_DEF; priv->multicast_snooping = BRIDGE_MULTICAST_SNOOPING_DEFAULT; @@ -2127,7 +2127,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_MULTICAST_LAST_MEMBER_INTERVAL] = g_param_spec_uint64 (NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL, "", "", - 0, G_MAXUINT64, BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEFAULT, + NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MIN, NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MAX, NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 1926197ed7..15c0ce702f 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -284,7 +284,7 @@ static const Option master_options[] = { FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL, "multicast_last_member_interval", NULL, NULL, - 0, G_MAXUINT64, 100, + NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MIN, NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MAX, NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEF, FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL, "multicast_membership_interval", NULL, NULL, From a75ec12d8bc25eaa60cf0b8ea455d2cd8663aab3 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 12:38:37 +0200 Subject: [PATCH 18/30] libnm: adjust bridge defines NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_* --- libnm-core/nm-core-internal.h | 5 ++++- libnm-core/nm-setting-bridge.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 5f8f427cad..a11a77cbbe 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -121,7 +121,10 @@ #define NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEF ((guint64) 100) #define NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MAX G_MAXUINT64 -#define BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT 26000 +#define NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MIN ((guint64) 0) +#define NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEF ((guint64) 26000) +#define NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MAX G_MAXUINT64 + #define BRIDGE_MULTICAST_QUERIER_INTERVAL_DEFAULT 25500 #define BRIDGE_MULTICAST_QUERIER_DEFAULT FALSE #define BRIDGE_MULTICAST_QUERY_INTERVAL_DEFAULT 12500 diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index b6b36cdfde..5d8679ea6d 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1575,7 +1575,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->max_age = NM_BRIDGE_MAX_AGE_DEF; priv->multicast_last_member_count = NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEF; priv->multicast_last_member_interval = NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEF; - priv->multicast_membership_interval = BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT; + priv->multicast_membership_interval = NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEF; priv->multicast_hash_max = NM_BRIDGE_MULTICAST_HASH_MAX_DEF; priv->multicast_snooping = BRIDGE_MULTICAST_SNOOPING_DEFAULT; priv->priority = NM_BRIDGE_PRIORITY_DEF; @@ -2150,7 +2150,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_MULTICAST_MEMBERSHIP_INTERVAL] = g_param_spec_uint64 (NM_SETTING_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL, "", "", - 0, G_MAXUINT64, BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEFAULT, + NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MIN, NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MAX, NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 15c0ce702f..a0840b49b1 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -288,7 +288,7 @@ static const Option master_options[] = { FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL, "multicast_membership_interval", NULL, NULL, - 0, G_MAXUINT64, 26000, + NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MIN, NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MAX, NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEF, FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_QUERIER, "multicast_querier", NULL, NULL, From da6bbd73aa7eee90dc6b940ff43e3d63d0750195 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 12:42:15 +0200 Subject: [PATCH 19/30] libnm: adjust bridge defines NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_* --- libnm-core/nm-core-internal.h | 5 ++++- libnm-core/nm-setting-bridge.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index a11a77cbbe..42c3afaced 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -125,7 +125,10 @@ #define NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEF ((guint64) 26000) #define NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MAX G_MAXUINT64 -#define BRIDGE_MULTICAST_QUERIER_INTERVAL_DEFAULT 25500 +#define NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MIN ((guint64) 0) +#define NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF ((guint64) 25500) +#define NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MAX G_MAXUINT64 + #define BRIDGE_MULTICAST_QUERIER_DEFAULT FALSE #define BRIDGE_MULTICAST_QUERY_INTERVAL_DEFAULT 12500 #define BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEFAULT 1000 diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index 5d8679ea6d..b422563a06 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1586,7 +1586,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->multicast_query_response_interval = BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEFAULT; priv->multicast_query_use_ifaddr = BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEFAULT; priv->multicast_querier = BRIDGE_MULTICAST_QUERIER_DEFAULT; - priv->multicast_querier_interval = BRIDGE_MULTICAST_QUERIER_INTERVAL_DEFAULT; + priv->multicast_querier_interval = NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF; priv->multicast_startup_query_count = BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEFAULT; priv->multicast_startup_query_interval = BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEFAULT; } @@ -2172,7 +2172,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_MULTICAST_QUERIER_INTERVAL] = g_param_spec_uint64 (NM_SETTING_BRIDGE_MULTICAST_QUERIER_INTERVAL, "", "", - 0, G_MAXUINT64, BRIDGE_MULTICAST_QUERIER_INTERVAL_DEFAULT, + NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MIN, NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MAX, NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index a0840b49b1..f66743e70b 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -296,7 +296,7 @@ static const Option master_options[] = { FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_QUERIER_INTERVAL, "multicast_querier_interval", NULL, NULL, - 0, G_MAXUINT64, 25500, + NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MIN, NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MAX, NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF, FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_QUERY_INTERVAL, "multicast_query_interval", NULL, NULL, From 08cfe812ecd28a5fc590fcd5a98ea4ad074496b5 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 12:45:20 +0200 Subject: [PATCH 20/30] libnm: adjust bridge defines NM_BRIDGE_MULTICAST_QUERIER_DEF --- libnm-core/nm-core-internal.h | 3 ++- libnm-core/nm-setting-bridge.c | 5 +++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 42c3afaced..05204b2564 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -129,7 +129,8 @@ #define NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF ((guint64) 25500) #define NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MAX G_MAXUINT64 -#define BRIDGE_MULTICAST_QUERIER_DEFAULT FALSE +#define NM_BRIDGE_MULTICAST_QUERIER_DEF FALSE + #define BRIDGE_MULTICAST_QUERY_INTERVAL_DEFAULT 12500 #define BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEFAULT 1000 #define BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEFAULT FALSE diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index b422563a06..5a6fa651a4 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1585,10 +1585,11 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->multicast_query_interval = BRIDGE_MULTICAST_QUERY_INTERVAL_DEFAULT; priv->multicast_query_response_interval = BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEFAULT; priv->multicast_query_use_ifaddr = BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEFAULT; - priv->multicast_querier = BRIDGE_MULTICAST_QUERIER_DEFAULT; priv->multicast_querier_interval = NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF; priv->multicast_startup_query_count = BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEFAULT; priv->multicast_startup_query_interval = BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEFAULT; + + nm_assert (priv->multicast_querier == NM_BRIDGE_MULTICAST_QUERIER_DEF); } /** @@ -2061,7 +2062,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_MULTICAST_QUERIER] = g_param_spec_boolean (NM_SETTING_BRIDGE_MULTICAST_QUERIER, "", "", - BRIDGE_MULTICAST_QUERIER_DEFAULT, + NM_BRIDGE_MULTICAST_QUERIER_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index f66743e70b..7941ca5304 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -292,7 +292,7 @@ static const Option master_options[] = { FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_QUERIER, "multicast_querier", NULL, NULL, - 0, 1, 0, + FALSE, TRUE, NM_BRIDGE_MULTICAST_QUERIER_DEF, FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_QUERIER_INTERVAL, "multicast_querier_interval", NULL, NULL, From 58001f70e853ec523058500757beaafcbd21b600 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 12:51:22 +0200 Subject: [PATCH 21/30] libnm: adjust bridge defines NM_BRIDGE_MULTICAST_QUERY_INTERVAL_* --- libnm-core/nm-core-internal.h | 5 ++++- libnm-core/nm-setting-bridge.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 05204b2564..ad1c689ad3 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -131,7 +131,10 @@ #define NM_BRIDGE_MULTICAST_QUERIER_DEF FALSE -#define BRIDGE_MULTICAST_QUERY_INTERVAL_DEFAULT 12500 +#define NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MIN ((guint64) 0) +#define NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF ((guint64) 12500) +#define NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MAX G_MAXUINT64 + #define BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEFAULT 1000 #define BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEFAULT FALSE #define BRIDGE_MULTICAST_SNOOPING_DEFAULT TRUE diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index 5a6fa651a4..bd94d80fdb 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1582,7 +1582,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->stp = NM_BRIDGE_STP_DEF; priv->vlan_default_pvid = BRIDGE_VLAN_DEFAULT_PVID_DEFAULT; priv->vlan_stats_enabled = BRIDGE_VLAN_STATS_ENABLED_DEFAULT; - priv->multicast_query_interval = BRIDGE_MULTICAST_QUERY_INTERVAL_DEFAULT; + priv->multicast_query_interval = NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF; priv->multicast_query_response_interval = BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEFAULT; priv->multicast_query_use_ifaddr = BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEFAULT; priv->multicast_querier_interval = NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF; @@ -2195,7 +2195,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_MULTICAST_QUERY_INTERVAL] = g_param_spec_uint64 (NM_SETTING_BRIDGE_MULTICAST_QUERY_INTERVAL, "", "", - 0, G_MAXUINT64, BRIDGE_MULTICAST_QUERY_INTERVAL_DEFAULT, + NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MIN, NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MAX, NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 7941ca5304..720c053875 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -300,7 +300,7 @@ static const Option master_options[] = { FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_QUERY_INTERVAL, "multicast_query_interval", NULL, NULL, - 0, G_MAXUINT64, 12500, + NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MIN, NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MAX, NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF, FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL, "multicast_query_response_interval", NULL, NULL, From 0db1d28e6d5df0c1bc91bd92718fb9ee71144268 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 13:07:07 +0200 Subject: [PATCH 22/30] libnm: adjust bridge defines NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_* --- libnm-core/nm-core-internal.h | 5 ++++- libnm-core/nm-setting-bridge.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index ad1c689ad3..e11f1fb110 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -135,7 +135,10 @@ #define NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF ((guint64) 12500) #define NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MAX G_MAXUINT64 -#define BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEFAULT 1000 +#define NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MIN ((guint64) 0) +#define NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF ((guint64) 1000) +#define NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MAX G_MAXUINT64 + #define BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEFAULT FALSE #define BRIDGE_MULTICAST_SNOOPING_DEFAULT TRUE #define BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEFAULT 2 diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index bd94d80fdb..12db240427 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1583,7 +1583,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->vlan_default_pvid = BRIDGE_VLAN_DEFAULT_PVID_DEFAULT; priv->vlan_stats_enabled = BRIDGE_VLAN_STATS_ENABLED_DEFAULT; priv->multicast_query_interval = NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF; - priv->multicast_query_response_interval = BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEFAULT; + priv->multicast_query_response_interval = NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF; priv->multicast_query_use_ifaddr = BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEFAULT; priv->multicast_querier_interval = NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF; priv->multicast_startup_query_count = BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEFAULT; @@ -2217,7 +2217,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_MULTICAST_QUERY_RESPONSE_INTERVAL] = g_param_spec_uint64 (NM_SETTING_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL, "", "", - 0, G_MAXUINT64, BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEFAULT, + NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MIN, NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MAX, NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 720c053875..b7c9a358c5 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -304,7 +304,7 @@ static const Option master_options[] = { FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL, "multicast_query_response_interval", NULL, NULL, - 0, G_MAXUINT64, 1000, + NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MIN, NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MAX, NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF, FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_QUERY_USE_IFADDR, "multicast_query_use_ifaddr", NULL, NULL, From 96bb90a1ef5a2d54b4f2509a11f49708d16a5d7a Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 13:09:23 +0200 Subject: [PATCH 23/30] libnm: adjust bridge defines NM_BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEF --- libnm-core/nm-core-internal.h | 3 ++- libnm-core/nm-setting-bridge.c | 6 +++--- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index e11f1fb110..445a932a3e 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -139,7 +139,8 @@ #define NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF ((guint64) 1000) #define NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MAX G_MAXUINT64 -#define BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEFAULT FALSE +#define NM_BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEF FALSE + #define BRIDGE_MULTICAST_SNOOPING_DEFAULT TRUE #define BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEFAULT 2 #define BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEFAULT 3125 diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index 12db240427..8e41d61128 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1584,12 +1584,12 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->vlan_stats_enabled = BRIDGE_VLAN_STATS_ENABLED_DEFAULT; priv->multicast_query_interval = NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF; priv->multicast_query_response_interval = NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF; - priv->multicast_query_use_ifaddr = BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEFAULT; priv->multicast_querier_interval = NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF; priv->multicast_startup_query_count = BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEFAULT; priv->multicast_startup_query_interval = BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEFAULT; - nm_assert (priv->multicast_querier == NM_BRIDGE_MULTICAST_QUERIER_DEF); + nm_assert (priv->multicast_querier == NM_BRIDGE_MULTICAST_QUERIER_DEF); + nm_assert (priv->multicast_query_use_ifaddr == NM_BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEF); } /** @@ -2040,7 +2040,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_MULTICAST_QUERY_USE_IFADDR] = g_param_spec_boolean (NM_SETTING_BRIDGE_MULTICAST_QUERY_USE_IFADDR, "", "", - BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEFAULT, + NM_BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index b7c9a358c5..4e74d1d72f 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -308,7 +308,7 @@ static const Option master_options[] = { FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_QUERY_USE_IFADDR, "multicast_query_use_ifaddr", NULL, NULL, - 0, 1, 0, + FALSE, TRUE, NM_BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEF, FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_SNOOPING, "multicast_snooping", NULL, NULL, From 433bb1fbe4df22242fe7702fb97ae77695fa03dc Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 13:11:32 +0200 Subject: [PATCH 24/30] libnm: adjust bridge defines NM_BRIDGE_MULTICAST_SNOOPING_DEF --- libnm-core/nm-core-internal.h | 3 ++- libnm-core/nm-setting-bridge.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 445a932a3e..1c688d47ea 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -141,7 +141,8 @@ #define NM_BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEF FALSE -#define BRIDGE_MULTICAST_SNOOPING_DEFAULT TRUE +#define NM_BRIDGE_MULTICAST_SNOOPING_DEF TRUE + #define BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEFAULT 2 #define BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEFAULT 3125 #define BRIDGE_VLAN_DEFAULT_PVID_DEFAULT 1 diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index 8e41d61128..7ead41a44f 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1577,7 +1577,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->multicast_last_member_interval = NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEF; priv->multicast_membership_interval = NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEF; priv->multicast_hash_max = NM_BRIDGE_MULTICAST_HASH_MAX_DEF; - priv->multicast_snooping = BRIDGE_MULTICAST_SNOOPING_DEFAULT; + priv->multicast_snooping = NM_BRIDGE_MULTICAST_SNOOPING_DEF; priv->priority = NM_BRIDGE_PRIORITY_DEF; priv->stp = NM_BRIDGE_STP_DEF; priv->vlan_default_pvid = BRIDGE_VLAN_DEFAULT_PVID_DEFAULT; @@ -1831,7 +1831,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_MULTICAST_SNOOPING] = g_param_spec_boolean (NM_SETTING_BRIDGE_MULTICAST_SNOOPING, "", "", - BRIDGE_MULTICAST_SNOOPING_DEFAULT, + NM_BRIDGE_MULTICAST_SNOOPING_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 4e74d1d72f..2c9ec58a02 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -312,7 +312,7 @@ static const Option master_options[] = { FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_SNOOPING, "multicast_snooping", NULL, NULL, - 0, 1, 1, + FALSE, TRUE, NM_BRIDGE_MULTICAST_SNOOPING_DEF, FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_ROUTER, "multicast_router", to_sysfs_multicast_router, from_sysfs_multicast_router, From 55311c6a6a5b7d25d64849c1c7aaaeca752e393d Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 13:16:16 +0200 Subject: [PATCH 25/30] libnm: adjust bridge defines NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_* --- libnm-core/nm-core-internal.h | 5 ++++- libnm-core/nm-setting-bridge.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 1c688d47ea..75b001117f 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -143,7 +143,10 @@ #define NM_BRIDGE_MULTICAST_SNOOPING_DEF TRUE -#define BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEFAULT 2 +#define NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MIN 0u +#define NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEF 2u +#define NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MAX ((guint) G_MAXUINT32) + #define BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEFAULT 3125 #define BRIDGE_VLAN_DEFAULT_PVID_DEFAULT 1 #define BRIDGE_VLAN_STATS_ENABLED_DEFAULT FALSE diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index 7ead41a44f..1bdd762bf2 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1585,7 +1585,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->multicast_query_interval = NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF; priv->multicast_query_response_interval = NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF; priv->multicast_querier_interval = NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF; - priv->multicast_startup_query_count = BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEFAULT; + priv->multicast_startup_query_count = NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEF; priv->multicast_startup_query_interval = BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEFAULT; nm_assert (priv->multicast_querier == NM_BRIDGE_MULTICAST_QUERIER_DEF); @@ -2238,7 +2238,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_MULTICAST_STARTUP_QUERY_COUNT] = g_param_spec_uint (NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT, "", "", - 0, G_MAXUINT32, BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEFAULT, + NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MIN, NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MAX, NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 2c9ec58a02..ba4b9e098b 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -320,7 +320,7 @@ static const Option master_options[] = { FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT, "multicast_startup_query_count", NULL, NULL, - 0, G_MAXUINT32, 2, + NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MIN, NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MAX, NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEF, FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL, "multicast_startup_query_interval", NULL, NULL, From f34144f70b0da2a03a90d5f27815fdd1d9b5be63 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 13:18:25 +0200 Subject: [PATCH 26/30] libnm: adjust bridge defines NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_* --- libnm-core/nm-core-internal.h | 5 ++++- libnm-core/nm-setting-bridge.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 75b001117f..1b4f8fd7ea 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -147,7 +147,10 @@ #define NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEF 2u #define NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MAX ((guint) G_MAXUINT32) -#define BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEFAULT 3125 +#define NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MIN ((guint64) 0) +#define NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEF ((guint64) 3125) +#define NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MAX G_MAXUINT64 + #define BRIDGE_VLAN_DEFAULT_PVID_DEFAULT 1 #define BRIDGE_VLAN_STATS_ENABLED_DEFAULT FALSE diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index 1bdd762bf2..dbd81a7d89 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1586,7 +1586,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->multicast_query_response_interval = NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF; priv->multicast_querier_interval = NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF; priv->multicast_startup_query_count = NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEF; - priv->multicast_startup_query_interval = BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEFAULT; + priv->multicast_startup_query_interval = NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEF; nm_assert (priv->multicast_querier == NM_BRIDGE_MULTICAST_QUERIER_DEF); nm_assert (priv->multicast_query_use_ifaddr == NM_BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEF); @@ -2260,7 +2260,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_MULTICAST_STARTUP_QUERY_INTERVAL] = g_param_spec_uint64 (NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL, "", "", - 0, G_MAXUINT64, BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEFAULT, + NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MIN, NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MAX, NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index ba4b9e098b..a963a0449d 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -324,7 +324,7 @@ static const Option master_options[] = { FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL, "multicast_startup_query_interval", NULL, NULL, - 0, G_MAXUINT64, 3125, + NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MIN, NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MAX, NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEF, FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_GROUP_ADDRESS, "group_addr", to_sysfs_group_address, from_sysfs_group_address, From bfcfdc2955b2a9833aef3b539eb8b254f88e6203 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 13:26:30 +0200 Subject: [PATCH 27/30] libnm: adjust bridge defines NM_BRIDGE_VLAN_STATS_ENABLED_DEF --- libnm-core/nm-core-internal.h | 3 ++- libnm-core/nm-setting-bridge.c | 4 ++-- src/devices/nm-device-bridge.c | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 1b4f8fd7ea..4fc6d913c4 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -151,8 +151,9 @@ #define NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEF ((guint64) 3125) #define NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MAX G_MAXUINT64 +#define NM_BRIDGE_VLAN_STATS_ENABLED_DEF FALSE + #define BRIDGE_VLAN_DEFAULT_PVID_DEFAULT 1 -#define BRIDGE_VLAN_STATS_ENABLED_DEFAULT FALSE /* NM_SETTING_COMPARE_FLAG_INFERRABLE: check whether a device-generated * connection can be replaced by a already-defined connection. This flag only diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index dbd81a7d89..df34111e0d 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1581,7 +1581,6 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->priority = NM_BRIDGE_PRIORITY_DEF; priv->stp = NM_BRIDGE_STP_DEF; priv->vlan_default_pvid = BRIDGE_VLAN_DEFAULT_PVID_DEFAULT; - priv->vlan_stats_enabled = BRIDGE_VLAN_STATS_ENABLED_DEFAULT; priv->multicast_query_interval = NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF; priv->multicast_query_response_interval = NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF; priv->multicast_querier_interval = NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF; @@ -1590,6 +1589,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) nm_assert (priv->multicast_querier == NM_BRIDGE_MULTICAST_QUERIER_DEF); nm_assert (priv->multicast_query_use_ifaddr == NM_BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEF); + nm_assert (priv->vlan_stats_enabled == NM_BRIDGE_VLAN_STATS_ENABLED_DEF); } /** @@ -1991,7 +1991,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_VLAN_STATS_ENABLED] = g_param_spec_boolean (NM_SETTING_BRIDGE_VLAN_STATS_ENABLED, "", "", - BRIDGE_VLAN_STATS_ENABLED_DEFAULT, + NM_BRIDGE_VLAN_STATS_ENABLED_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index a963a0449d..0a8bc4f2e6 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -336,7 +336,7 @@ static const Option master_options[] = { FALSE, FALSE, FALSE }, { NM_SETTING_BRIDGE_VLAN_STATS_ENABLED, "vlan_stats_enabled", NULL, NULL, - 0, 1, 0, + FALSE, TRUE, NM_BRIDGE_VLAN_STATS_ENABLED_DEF, FALSE, FALSE, FALSE }, { NULL, NULL } }; From 42288df043497b6e881c0a8e4f35df1553bd5530 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 13:29:21 +0200 Subject: [PATCH 28/30] libnm: adjust bridge defines NM_BRIDGE_VLAN_DEFAULT_PVID_DEF --- libnm-core/nm-core-internal.h | 2 +- libnm-core/nm-setting-bridge.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 4fc6d913c4..57f46f94be 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -153,7 +153,7 @@ #define NM_BRIDGE_VLAN_STATS_ENABLED_DEF FALSE -#define BRIDGE_VLAN_DEFAULT_PVID_DEFAULT 1 +#define NM_BRIDGE_VLAN_DEFAULT_PVID_DEF 1u /* NM_SETTING_COMPARE_FLAG_INFERRABLE: check whether a device-generated * connection can be replaced by a already-defined connection. This flag only diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index df34111e0d..18aaff2a5e 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -1580,7 +1580,7 @@ nm_setting_bridge_init (NMSettingBridge *setting) priv->multicast_snooping = NM_BRIDGE_MULTICAST_SNOOPING_DEF; priv->priority = NM_BRIDGE_PRIORITY_DEF; priv->stp = NM_BRIDGE_STP_DEF; - priv->vlan_default_pvid = BRIDGE_VLAN_DEFAULT_PVID_DEFAULT; + priv->vlan_default_pvid = NM_BRIDGE_VLAN_DEFAULT_PVID_DEF; priv->multicast_query_interval = NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF; priv->multicast_query_response_interval = NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF; priv->multicast_querier_interval = NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF; @@ -1876,7 +1876,7 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) */ obj_properties[PROP_VLAN_DEFAULT_PVID] = g_param_spec_uint (NM_SETTING_BRIDGE_VLAN_DEFAULT_PVID, "", "", - 0, NM_BRIDGE_VLAN_VID_MAX, BRIDGE_VLAN_DEFAULT_PVID_DEFAULT, + 0, NM_BRIDGE_VLAN_VID_MAX, NM_BRIDGE_VLAN_DEFAULT_PVID_DEF, G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); From 7c22710c1730f9ef31089e73657eafd14314c733 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 13:56:56 +0200 Subject: [PATCH 29/30] libnm: use boolean values for range of NM_SETTING_BRIDGE_PORT_HAIRPIN_MODE in slave_options --- src/devices/nm-device-bridge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 0a8bc4f2e6..064dd8d2b8 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -352,7 +352,7 @@ static const Option slave_options[] = { TRUE, FALSE }, { NM_SETTING_BRIDGE_PORT_HAIRPIN_MODE, "hairpin_mode", NULL, NULL, - 0, 1, 0, + FALSE, TRUE, FALSE, FALSE, FALSE }, { NULL, NULL } }; From 6044fce960a44aa96fbafdffdf6eb5503daba2c4 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 5 May 2020 14:40:04 +0200 Subject: [PATCH 30/30] bridge: refactor definition of options array to use a macro and C99 designated initializer Yes, it's a macro and it's more lines of code. But I think this is much easier to read and to maintain. --- src/devices/nm-device-bridge.c | 244 +++++++++++++++++++-------------- 1 file changed, 138 insertions(+), 106 deletions(-) diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c index 064dd8d2b8..544e66140c 100644 --- a/src/devices/nm-device-bridge.c +++ b/src/devices/nm-device-bridge.c @@ -245,116 +245,148 @@ typedef struct { bool only_with_stp; } Option; +#define OPTION(_name, _sysname, ...) \ + { \ + .name = ""_name"", \ + .sysname = ""_sysname"", \ + __VA_ARGS__ \ + } + +#define OPTION_TYPE_INT(min, max, def) \ + .nm_min = (min), .nm_max = (max), .nm_default = (def) + +#define OPTION_TYPE_BOOL(def) \ + OPTION_TYPE_INT (FALSE, TRUE, def) + +#define OPTION_TYPE_TOFROM(to, fro) \ + .to_sysfs = (to), .from_sysfs = (fro) + static const Option master_options[] = { - { NM_SETTING_BRIDGE_STP, "stp_state", /* this must stay as the first item */ - NULL, NULL, - FALSE, TRUE, NM_BRIDGE_STP_DEF, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_PRIORITY, "priority", - NULL, NULL, - NM_BRIDGE_PRIORITY_MIN, NM_BRIDGE_PRIORITY_MAX, NM_BRIDGE_PRIORITY_DEF, - TRUE, FALSE, TRUE }, - { NM_SETTING_BRIDGE_FORWARD_DELAY, "forward_delay", - NULL, NULL, - NM_BRIDGE_FORWARD_DELAY_MIN, NM_BRIDGE_FORWARD_DELAY_MAX, NM_BRIDGE_FORWARD_DELAY_DEF, - TRUE, TRUE, TRUE}, - { NM_SETTING_BRIDGE_HELLO_TIME, "hello_time", - NULL, NULL, - NM_BRIDGE_HELLO_TIME_MIN, NM_BRIDGE_HELLO_TIME_MAX, NM_BRIDGE_HELLO_TIME_DEF, - TRUE, TRUE, TRUE }, - { NM_SETTING_BRIDGE_MAX_AGE, "max_age", - NULL, NULL, - NM_BRIDGE_MAX_AGE_MIN, NM_BRIDGE_MAX_AGE_MAX, NM_BRIDGE_MAX_AGE_DEF, - TRUE, TRUE, TRUE }, - { NM_SETTING_BRIDGE_AGEING_TIME, "ageing_time", - NULL, NULL, - NM_BRIDGE_AGEING_TIME_MIN, NM_BRIDGE_AGEING_TIME_MAX, NM_BRIDGE_AGEING_TIME_DEF, - TRUE, TRUE, FALSE }, - { NM_SETTING_BRIDGE_GROUP_FORWARD_MASK, "group_fwd_mask", - NULL, NULL, - 0, 0xFFFF, 0, - TRUE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_MULTICAST_HASH_MAX, "hash_max", - NULL, NULL, - NM_BRIDGE_MULTICAST_HASH_MAX_MIN, NM_BRIDGE_MULTICAST_HASH_MAX_MAX, NM_BRIDGE_MULTICAST_HASH_MAX_DEF, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_COUNT, "multicast_last_member_count", - NULL, NULL, - NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MIN, NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MAX, NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEF, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL, "multicast_last_member_interval", - NULL, NULL, - NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MIN, NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MAX, NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEF, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL, "multicast_membership_interval", - NULL, NULL, - NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MIN, NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MAX, NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEF, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_MULTICAST_QUERIER, "multicast_querier", - NULL, NULL, - FALSE, TRUE, NM_BRIDGE_MULTICAST_QUERIER_DEF, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_MULTICAST_QUERIER_INTERVAL, "multicast_querier_interval", - NULL, NULL, - NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MIN, NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MAX, NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_MULTICAST_QUERY_INTERVAL, "multicast_query_interval", - NULL, NULL, - NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MIN, NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MAX, NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL, "multicast_query_response_interval", - NULL, NULL, - NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MIN, NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MAX, NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_MULTICAST_QUERY_USE_IFADDR, "multicast_query_use_ifaddr", - NULL, NULL, - FALSE, TRUE, NM_BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEF, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_MULTICAST_SNOOPING, "multicast_snooping", - NULL, NULL, - FALSE, TRUE, NM_BRIDGE_MULTICAST_SNOOPING_DEF, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_MULTICAST_ROUTER, "multicast_router", - to_sysfs_multicast_router, from_sysfs_multicast_router, - 0, 0, 0, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT, "multicast_startup_query_count", - NULL, NULL, - NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MIN, NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MAX, NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEF, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL, "multicast_startup_query_interval", - NULL, NULL, - NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MIN, NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MAX, NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEF, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_GROUP_ADDRESS, "group_addr", - to_sysfs_group_address, from_sysfs_group_address, - 0, 0, 0, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_VLAN_PROTOCOL, "vlan_protocol", - to_sysfs_vlan_protocol, from_sysfs_vlan_protocol, - 0, 0, 0, - FALSE, FALSE, FALSE }, - { NM_SETTING_BRIDGE_VLAN_STATS_ENABLED, "vlan_stats_enabled", - NULL, NULL, - FALSE, TRUE, NM_BRIDGE_VLAN_STATS_ENABLED_DEF, - FALSE, FALSE, FALSE }, - { NULL, NULL } + OPTION (NM_SETTING_BRIDGE_STP, /* this must stay as the first item */ + "stp_state", + OPTION_TYPE_BOOL (NM_BRIDGE_STP_DEF), + ), + OPTION (NM_SETTING_BRIDGE_PRIORITY, + "priority", + OPTION_TYPE_INT (NM_BRIDGE_PRIORITY_MIN, NM_BRIDGE_PRIORITY_MAX, NM_BRIDGE_PRIORITY_DEF), + .default_if_zero = TRUE, + .only_with_stp = TRUE, + ), + OPTION (NM_SETTING_BRIDGE_FORWARD_DELAY, + "forward_delay", + OPTION_TYPE_INT (NM_BRIDGE_FORWARD_DELAY_MIN, NM_BRIDGE_FORWARD_DELAY_MAX, NM_BRIDGE_FORWARD_DELAY_DEF), + .default_if_zero = TRUE, + .user_hz_compensate = TRUE, + .only_with_stp = TRUE, + ), + OPTION (NM_SETTING_BRIDGE_HELLO_TIME, + "hello_time", + OPTION_TYPE_INT (NM_BRIDGE_HELLO_TIME_MIN, NM_BRIDGE_HELLO_TIME_MAX, NM_BRIDGE_HELLO_TIME_DEF), + .default_if_zero = TRUE, + .user_hz_compensate = TRUE, + .only_with_stp = TRUE, + ), + OPTION (NM_SETTING_BRIDGE_MAX_AGE, + "max_age", + OPTION_TYPE_INT (NM_BRIDGE_MAX_AGE_MIN, NM_BRIDGE_MAX_AGE_MAX, NM_BRIDGE_MAX_AGE_DEF), + .default_if_zero = TRUE, + .user_hz_compensate = TRUE, + .only_with_stp = TRUE, + ), + OPTION (NM_SETTING_BRIDGE_AGEING_TIME, + "ageing_time", + OPTION_TYPE_INT (NM_BRIDGE_AGEING_TIME_MIN, NM_BRIDGE_AGEING_TIME_MAX, NM_BRIDGE_AGEING_TIME_DEF), + .default_if_zero = TRUE, + .user_hz_compensate = TRUE, + ), + OPTION (NM_SETTING_BRIDGE_GROUP_FORWARD_MASK, + "group_fwd_mask", + OPTION_TYPE_INT (0, 0xFFFF, 0), + .default_if_zero = TRUE, + ), + OPTION (NM_SETTING_BRIDGE_MULTICAST_HASH_MAX, + "hash_max", + OPTION_TYPE_INT (NM_BRIDGE_MULTICAST_HASH_MAX_MIN, NM_BRIDGE_MULTICAST_HASH_MAX_MAX, NM_BRIDGE_MULTICAST_HASH_MAX_DEF), + ), + OPTION (NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_COUNT, + "multicast_last_member_count", + OPTION_TYPE_INT (NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MIN, NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MAX, NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEF), + ), + OPTION (NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL, + "multicast_last_member_interval", + OPTION_TYPE_INT (NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MIN, NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MAX, NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEF), + ), + OPTION (NM_SETTING_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL, + "multicast_membership_interval", + OPTION_TYPE_INT (NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MIN, NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MAX, NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEF), + ), + OPTION (NM_SETTING_BRIDGE_MULTICAST_QUERIER, + "multicast_querier", + OPTION_TYPE_BOOL (NM_BRIDGE_MULTICAST_QUERIER_DEF), + ), + OPTION (NM_SETTING_BRIDGE_MULTICAST_QUERIER_INTERVAL, + "multicast_querier_interval", + OPTION_TYPE_INT (NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MIN, NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MAX, NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF), + ), + OPTION (NM_SETTING_BRIDGE_MULTICAST_QUERY_INTERVAL, + "multicast_query_interval", + OPTION_TYPE_INT (NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MIN, NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MAX, NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF), + ), + OPTION (NM_SETTING_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL, + "multicast_query_response_interval", + OPTION_TYPE_INT (NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MIN, NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MAX, NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF), + ), + OPTION (NM_SETTING_BRIDGE_MULTICAST_QUERY_USE_IFADDR, + "multicast_query_use_ifaddr", + OPTION_TYPE_BOOL (NM_BRIDGE_MULTICAST_QUERY_USE_IFADDR_DEF), + ), + OPTION (NM_SETTING_BRIDGE_MULTICAST_SNOOPING, + "multicast_snooping", + OPTION_TYPE_BOOL (NM_BRIDGE_MULTICAST_SNOOPING_DEF), + ), + OPTION (NM_SETTING_BRIDGE_MULTICAST_ROUTER, + "multicast_router", + OPTION_TYPE_TOFROM (to_sysfs_multicast_router, from_sysfs_multicast_router), + ), + OPTION (NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT, + "multicast_startup_query_count", + OPTION_TYPE_INT (NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MIN, NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MAX, NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEF), + ), + OPTION (NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL, + "multicast_startup_query_interval", + OPTION_TYPE_INT (NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MIN, NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MAX, NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEF), + ), + OPTION (NM_SETTING_BRIDGE_GROUP_ADDRESS, + "group_addr", + OPTION_TYPE_TOFROM (to_sysfs_group_address, from_sysfs_group_address), + ), + OPTION (NM_SETTING_BRIDGE_VLAN_PROTOCOL, + "vlan_protocol", + OPTION_TYPE_TOFROM (to_sysfs_vlan_protocol, from_sysfs_vlan_protocol), + ), + OPTION (NM_SETTING_BRIDGE_VLAN_STATS_ENABLED, + "vlan_stats_enabled", + OPTION_TYPE_BOOL (NM_BRIDGE_VLAN_STATS_ENABLED_DEF) + ), + { 0, } }; static const Option slave_options[] = { - { NM_SETTING_BRIDGE_PORT_PRIORITY, "priority", - NULL, NULL, - NM_BRIDGE_PORT_PRIORITY_MIN, NM_BRIDGE_PORT_PRIORITY_MAX, NM_BRIDGE_PORT_PRIORITY_DEF, - TRUE, FALSE }, - { NM_SETTING_BRIDGE_PORT_PATH_COST, "path_cost", - NULL, NULL, - NM_BRIDGE_PORT_PATH_COST_MIN, NM_BRIDGE_PORT_PATH_COST_MAX, NM_BRIDGE_PORT_PATH_COST_DEF, - TRUE, FALSE }, - { NM_SETTING_BRIDGE_PORT_HAIRPIN_MODE, "hairpin_mode", - NULL, NULL, - FALSE, TRUE, FALSE, - FALSE, FALSE }, - { NULL, NULL } + OPTION (NM_SETTING_BRIDGE_PORT_PRIORITY, + "priority", + OPTION_TYPE_INT (NM_BRIDGE_PORT_PRIORITY_MIN, NM_BRIDGE_PORT_PRIORITY_MAX, NM_BRIDGE_PORT_PRIORITY_DEF), + .default_if_zero = TRUE, + ), + OPTION (NM_SETTING_BRIDGE_PORT_PATH_COST, + "path_cost", + OPTION_TYPE_INT (NM_BRIDGE_PORT_PATH_COST_MIN, NM_BRIDGE_PORT_PATH_COST_MAX, NM_BRIDGE_PORT_PATH_COST_DEF), + .default_if_zero = TRUE, + ), + OPTION (NM_SETTING_BRIDGE_PORT_HAIRPIN_MODE, + "hairpin_mode", + OPTION_TYPE_BOOL (FALSE), + ), + { 0 } }; static void