diff options
author | Fernando Fernandez Mancera <ffmancera@riseup.net> | 2023-12-19 08:17:48 +0100 |
---|---|---|
committer | Fernando Fernandez Mancera <ffmancera@riseup.net> | 2023-12-19 13:54:21 +0100 |
commit | 0e893593a95aac02b20d1015a009f414f996917c (patch) | |
tree | 7b369427abec8f723da33d649881618ec6f57edc | |
parent | 9613b99ea89fd788180ea6c184ab80ef6f144c63 (diff) |
hsr: drop supervision-address from HSR settingff/fix_hsr
The supervision address is read-only. It is constructed by kernel and
only the last byte can be modified by setting the multicast-spec as
documented indeed.
As 1.46 was not released yet, we still can drop the whole API for this
setting property. We are keeping the NMDeviceHsr property as it is a
nice to have for reading it.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1823
Fixes: 5426bdf4a122 ('HSR: add support to HSR/PRP interface')
-rw-r--r-- | src/core/devices/nm-device-hsr.c | 3 | ||||
-rw-r--r-- | src/libnm-client-impl/libnm.ver | 1 | ||||
-rw-r--r-- | src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in | 4 | ||||
-rw-r--r-- | src/libnm-core-impl/nm-keyfile.c | 4 | ||||
-rw-r--r-- | src/libnm-core-impl/nm-setting-hsr.c | 52 | ||||
-rw-r--r-- | src/libnm-core-public/nm-setting-hsr.h | 11 | ||||
-rw-r--r-- | src/libnm-platform/nm-linux-platform.c | 5 | ||||
-rw-r--r-- | src/libnmc-setting/nm-meta-setting-desc.c | 6 | ||||
-rw-r--r-- | src/libnmc-setting/settings-docs.h.in | 1 | ||||
-rw-r--r-- | src/nmcli/gen-metadata-nm-settings-nmcli.xml.in | 4 |
10 files changed, 5 insertions, 86 deletions
diff --git a/src/core/devices/nm-device-hsr.c b/src/core/devices/nm-device-hsr.c index eef99afade..8156fa7796 100644 --- a/src/core/devices/nm-device-hsr.c +++ b/src/core/devices/nm-device-hsr.c @@ -126,9 +126,6 @@ create_and_realize(NMDevice *device, lnk.port1 = nm_platform_link_get_ifindex(NM_PLATFORM_GET, nm_setting_hsr_get_port1(s_hsr)); if (nm_setting_hsr_get_port2(s_hsr) != NULL) lnk.port2 = nm_platform_link_get_ifindex(NM_PLATFORM_GET, nm_setting_hsr_get_port2(s_hsr)); - if (nm_setting_hsr_get_supervision_address(s_hsr) != NULL) - nm_ether_addr_from_string(&lnk.supervision_address, - nm_setting_hsr_get_supervision_address(s_hsr)); lnk.multicast_spec = nm_setting_hsr_get_multicast_spec(s_hsr); lnk.prp = nm_setting_hsr_get_prp(s_hsr); r = nm_platform_link_hsr_add(nm_device_get_platform(device), iface, &lnk, out_plink); diff --git a/src/libnm-client-impl/libnm.ver b/src/libnm-client-impl/libnm.ver index 59b45d3227..88cd93f13f 100644 --- a/src/libnm-client-impl/libnm.ver +++ b/src/libnm-client-impl/libnm.ver @@ -1960,7 +1960,6 @@ global: nm_setting_hsr_get_port1; nm_setting_hsr_get_port2; nm_setting_hsr_get_prp; - nm_setting_hsr_get_supervision_address; nm_setting_hsr_get_type; nm_setting_hsr_new; } libnm_1_44_0; diff --git a/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in b/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in index 6e853d7b76..31d2335e64 100644 --- a/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in +++ b/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in @@ -1437,10 +1437,6 @@ dbus-type="b" gprop-type="gboolean" /> - <property name="supervision-address" - dbus-type="s" - gprop-type="gchararray" - /> </setting> <setting name="infiniband" gtype="NMSettingInfiniband" diff --git a/src/libnm-core-impl/nm-keyfile.c b/src/libnm-core-impl/nm-keyfile.c index 884bad5fa0..078ea5d766 100644 --- a/src/libnm-core-impl/nm-keyfile.c +++ b/src/libnm-core-impl/nm-keyfile.c @@ -3045,10 +3045,6 @@ static const ParseInfoSetting *const parse_infos[_NM_META_SETTING_TYPE_NUM] = { .parser = setting_alias_parser, .writer = setting_alias_writer, ), ), ), PARSE_INFO_SETTING( - NM_META_SETTING_TYPE_HSR, - PARSE_INFO_PROPERTIES(PARSE_INFO_PROPERTY(NM_SETTING_HSR_SUPERVISION_ADDRESS, - .parser = mac_address_parser_ETHER, ), ), ), - PARSE_INFO_SETTING( NM_META_SETTING_TYPE_INFINIBAND, PARSE_INFO_PROPERTIES(PARSE_INFO_PROPERTY(NM_SETTING_INFINIBAND_MAC_ADDRESS, .parser = mac_address_parser_INFINIBAND, ), ), ), diff --git a/src/libnm-core-impl/nm-setting-hsr.c b/src/libnm-core-impl/nm-setting-hsr.c index 8802aa5836..d9a662b16f 100644 --- a/src/libnm-core-impl/nm-setting-hsr.c +++ b/src/libnm-core-impl/nm-setting-hsr.c @@ -23,17 +23,11 @@ /*****************************************************************************/ -NM_GOBJECT_PROPERTIES_DEFINE(NMSettingHsr, - PROP_PORT1, - PROP_PORT2, - PROP_SUPERVISION_ADDRESS, - PROP_MULTICAST_SPEC, - PROP_PRP, ); +NM_GOBJECT_PROPERTIES_DEFINE(NMSettingHsr, PROP_PORT1, PROP_PORT2, PROP_MULTICAST_SPEC, PROP_PRP, ); typedef struct { char *port1; char *port2; - char *supervision_address; guint32 multicast_spec; bool prp; } NMSettingHsrPrivate; @@ -92,22 +86,6 @@ nm_setting_hsr_get_port2(NMSettingHsr *setting) } /** - * nm_setting_hsr_get_supervision_address: - * @setting: the #NMSettingHsr - * - * Returns: the #NMSettingHsr:supervision_address property of the setting - * - * Since: 1.46 - **/ -const char * -nm_setting_hsr_get_supervision_address(NMSettingHsr *setting) -{ - g_return_val_if_fail(NM_IS_SETTING_HSR(setting), NULL); - - return NM_SETTING_HSR_GET_PRIVATE(setting)->supervision_address; -} - -/** * nm_setting_hsr_get_multicast_spec: * @setting: the #NMSettingHsr * @@ -182,19 +160,6 @@ verify(NMSetting *setting, NMConnection *connection, GError **error) return FALSE; } - if (priv->supervision_address && !nm_utils_hwaddr_valid(priv->supervision_address, ETH_ALEN)) { - g_set_error(error, - NM_CONNECTION_ERROR, - NM_CONNECTION_ERROR_INVALID_PROPERTY, - _("'%s' is not a valid MAC address"), - priv->supervision_address); - g_prefix_error(error, - "%s.%s: ", - NM_SETTING_HSR_SETTING_NAME, - NM_SETTING_HSR_SUPERVISION_ADDRESS); - return FALSE; - } - return TRUE; } @@ -262,21 +227,6 @@ nm_setting_hsr_class_init(NMSettingHsrClass *klass) _priv.port2); /** - * NMSettingHsr:supervision-address: - * - * The supervision MAC address. - * - * Since: 1.46 - **/ - _nm_setting_property_define_direct_string(properties_override, - obj_properties, - NM_SETTING_HSR_SUPERVISION_ADDRESS, - PROP_SUPERVISION_ADDRESS, - NM_SETTING_PARAM_INFERRABLE, - NMSettingHsr, - _priv.supervision_address); - - /** * NMSettingHsr:multicast-spec: * * The last byte of supervision address. diff --git a/src/libnm-core-public/nm-setting-hsr.h b/src/libnm-core-public/nm-setting-hsr.h index 8d11ba339b..f7b0136fd1 100644 --- a/src/libnm-core-public/nm-setting-hsr.h +++ b/src/libnm-core-public/nm-setting-hsr.h @@ -23,11 +23,10 @@ G_BEGIN_DECLS #define NM_SETTING_HSR_SETTING_NAME "hsr" -#define NM_SETTING_HSR_PORT1 "port1" -#define NM_SETTING_HSR_PORT2 "port2" -#define NM_SETTING_HSR_SUPERVISION_ADDRESS "supervision-address" -#define NM_SETTING_HSR_MULTICAST_SPEC "multicast-spec" -#define NM_SETTING_HSR_PRP "prp" +#define NM_SETTING_HSR_PORT1 "port1" +#define NM_SETTING_HSR_PORT2 "port2" +#define NM_SETTING_HSR_MULTICAST_SPEC "multicast-spec" +#define NM_SETTING_HSR_PRP "prp" typedef struct _NMSettingHsrClass NMSettingHsrClass; @@ -41,8 +40,6 @@ const char *nm_setting_hsr_get_port1(NMSettingHsr *setting); NM_AVAILABLE_IN_1_46 const char *nm_setting_hsr_get_port2(NMSettingHsr *setting); NM_AVAILABLE_IN_1_46 -const char *nm_setting_hsr_get_supervision_address(NMSettingHsr *setting); -NM_AVAILABLE_IN_1_46 guint32 nm_setting_hsr_get_multicast_spec(NMSettingHsr *setting); NM_AVAILABLE_IN_1_46 gboolean nm_setting_hsr_get_prp(NMSettingHsr *setting); diff --git a/src/libnm-platform/nm-linux-platform.c b/src/libnm-platform/nm-linux-platform.c index b15766652a..22cd578480 100644 --- a/src/libnm-platform/nm-linux-platform.c +++ b/src/libnm-platform/nm-linux-platform.c @@ -5075,11 +5075,6 @@ _nl_msg_new_link_set_linkinfo(struct nl_msg *msg, NMLinkType link_type, gconstpo if (props->multicast_spec) NLA_PUT_U8(msg, IFLA_HSR_MULTICAST_SPEC, props->multicast_spec); - if (!nm_ether_addr_is_zero(&props->supervision_address)) - NLA_PUT(msg, - IFLA_HSR_SUPERVISION_ADDR, - sizeof(props->supervision_address), - &props->supervision_address); NLA_PUT_U8(msg, IFLA_HSR_PROTOCOL, props->prp); break; diff --git a/src/libnmc-setting/nm-meta-setting-desc.c b/src/libnmc-setting/nm-meta-setting-desc.c index 5f659a6e70..9acffbd8f5 100644 --- a/src/libnmc-setting/nm-meta-setting-desc.c +++ b/src/libnmc-setting/nm-meta-setting-desc.c @@ -6078,12 +6078,6 @@ static const NMMetaPropertyInfo *const property_infos_HSR[] = { .prompt = N_("hsr port2"), .property_type = &_pt_gobject_string, ), - PROPERTY_INFO_WITH_DESC (NM_SETTING_HSR_SUPERVISION_ADDRESS, - .is_cli_option = TRUE, - .property_alias = "supervision-address", - .prompt = N_("hsr supervision address"), - .property_type = &_pt_gobject_mac, - ), PROPERTY_INFO_WITH_DESC (NM_SETTING_HSR_MULTICAST_SPEC, .is_cli_option = TRUE, .property_alias = "multicast-spec", diff --git a/src/libnmc-setting/settings-docs.h.in b/src/libnmc-setting/settings-docs.h.in index aba9a5ca2d..c63f3e35c4 100644 --- a/src/libnmc-setting/settings-docs.h.in +++ b/src/libnmc-setting/settings-docs.h.in @@ -449,7 +449,6 @@ #define DESCRIBE_DOC_NM_SETTING_HSR_PORT1 N_("The port1 interface name of the HSR. This property is mandatory.") #define DESCRIBE_DOC_NM_SETTING_HSR_PORT2 N_("The port2 interface name of the HSR. This property is mandatory.") #define DESCRIBE_DOC_NM_SETTING_HSR_PRP N_("The protocol used by the interface, whether it is PRP or HSR.") -#define DESCRIBE_DOC_NM_SETTING_HSR_SUPERVISION_ADDRESS N_("The supervision MAC address.") #define DESCRIBE_DOC_NM_SETTING_LINK_GRO_MAX_SIZE N_("The maximum size of a packet built by the Generic Receive Offload stack for this device. The value must be between 0 and 4294967295. When set to -1, the existing value is preserved.") #define DESCRIBE_DOC_NM_SETTING_LINK_GSO_MAX_SEGMENTS N_("The maximum segments of a Generic Segment Offload packet the device should accept. The value must be between 0 and 4294967295. When set to -1, the existing value is preserved.") #define DESCRIBE_DOC_NM_SETTING_LINK_GSO_MAX_SIZE N_("The maximum size of a Generic Segment Offload packet the device should accept. The value must be between 0 and 4294967295. When set to -1, the existing value is preserved.") diff --git a/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in b/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in index 90ea08e95a..a4d20675e3 100644 --- a/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in +++ b/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in @@ -1144,10 +1144,6 @@ alias="port2" nmcli-description="The port2 interface name of the HSR. This property is mandatory." format="string" /> - <property name="supervision-address" - alias="supervision-address" - nmcli-description="The supervision MAC address." - format="MAC address" /> <property name="multicast-spec" alias="multicast-spec" nmcli-description="The last byte of supervision address." |