summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFernando Fernandez Mancera <ffmancera@riseup.net>2023-12-19 08:17:48 +0100
committerFernando Fernandez Mancera <ffmancera@riseup.net>2023-12-19 13:54:21 +0100
commit0e893593a95aac02b20d1015a009f414f996917c (patch)
tree7b369427abec8f723da33d649881618ec6f57edc
parent9613b99ea89fd788180ea6c184ab80ef6f144c63 (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.c3
-rw-r--r--src/libnm-client-impl/libnm.ver1
-rw-r--r--src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in4
-rw-r--r--src/libnm-core-impl/nm-keyfile.c4
-rw-r--r--src/libnm-core-impl/nm-setting-hsr.c52
-rw-r--r--src/libnm-core-public/nm-setting-hsr.h11
-rw-r--r--src/libnm-platform/nm-linux-platform.c5
-rw-r--r--src/libnmc-setting/nm-meta-setting-desc.c6
-rw-r--r--src/libnmc-setting/settings-docs.h.in1
-rw-r--r--src/nmcli/gen-metadata-nm-settings-nmcli.xml.in4
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."