From de66a3a8029fee8a8a417fc49b0cb008965cb042 Mon Sep 17 00:00:00 2001 From: AlmaLinux RelEng Bot Date: Tue, 19 May 2026 18:44:18 -0400 Subject: [PATCH] import UBI NetworkManager-1.56.0-1.el10 --- .gitignore | 2 +- ...unrelated-external-ports-rhel-121106.patch | 92 --------- ...ort-reapplying-sriov-vfs-rhel-113956.patch | 178 ------------------ ...tive-from-reapply-subset-rhel-154247.patch | 33 ---- NetworkManager.spec | 36 ++-- sources | 2 +- 6 files changed, 27 insertions(+), 316 deletions(-) delete mode 100644 1001-ovs-don-t-remove-unrelated-external-ports-rhel-121106.patch delete mode 100644 1002-support-reapplying-sriov-vfs-rhel-113956.patch delete mode 100644 1003-remove-lacp-active-from-reapply-subset-rhel-154247.patch diff --git a/.gitignore b/.gitignore index 7fbb458..99260ad 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -NetworkManager-1.54.0.tar.xz +NetworkManager-1.56.0.tar.xz diff --git a/1001-ovs-don-t-remove-unrelated-external-ports-rhel-121106.patch b/1001-ovs-don-t-remove-unrelated-external-ports-rhel-121106.patch deleted file mode 100644 index 32fae0e..0000000 --- a/1001-ovs-don-t-remove-unrelated-external-ports-rhel-121106.patch +++ /dev/null @@ -1,92 +0,0 @@ -From bc8e8c4247bceffda6a9b3dcc7803b3ab84158a2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=8D=C3=B1igo=20Huguet?= -Date: Thu, 9 Oct 2025 12:24:11 +0200 -Subject: [PATCH] ovs: don't remove unrelated external ports - -The commit linked below introduced a bug that caused that OVS ports -added externally to NM are always deleted when we delete any OVS -interface. It affects to all externally added ports, including those -that are not related to the deleted interface and even those in -different OVS bridges. - -Fix it by only modifying ports and bridges that are ascendants of the -deleted interface, leaving everything else untouched. - -Note that bridges and ports still need to have at least one NM-managed -interface, otherwise they will also be purged. For example, an NM-owned -OVS bridge with 2 ports+iface, one NM-owned and one external: if we -delete the NM-owned iface, both ports and the bridge will be deleted. -For now, this is a known limitation that is not being fixed here. - -Fixes: 476c89b6f2cd ('ovs: only keep bridges and ports with NM interfaces attached') -(cherry picked from commit 93491d76ecf75c202ff82369e3eb72e7e6d37c8a) -(cherry picked from commit 8326cc32d64441dd993b5b1e73ded21d548efa6d) ---- - src/core/devices/ovs/nm-ovsdb.c | 32 +++++++++++++++++--------------- - 1 file changed, 17 insertions(+), 15 deletions(-) - -diff --git a/src/core/devices/ovs/nm-ovsdb.c b/src/core/devices/ovs/nm-ovsdb.c -index 164bfd3565..1c9484c486 100644 ---- a/src/core/devices/ovs/nm-ovsdb.c -+++ b/src/core/devices/ovs/nm-ovsdb.c -@@ -1460,40 +1460,42 @@ _delete_interface(NMOvsdb *self, json_t *params, const char *ifname) - json_array_append_new(new_interfaces, json_pack("[s,s]", "uuid", interface_uuid)); - } - -- if (num_nm_interfaces == 0) { -- /* The port no longer has any NM interface. Don't add it to "new_ports" and set -- * ports_changed=TRUE, so that it will be deleted. */ -+ if (interfaces_changed && num_nm_interfaces == 0) { -+ /* We are deleting the last nm-interface of this port. Don't add it to "new_ports" -+ * and set ports_changed=TRUE, so that it will be deleted. */ - ports_changed = TRUE; - } else { -+ /* Keep this port: it's still alive, or it's unrelated to the deleted interface */ -+ json_array_append_new(new_ports, json_pack("[s,s]", "uuid", port_uuid)); -+ if (ovs_port->connection_uuid) -+ num_nm_ports++; -+ - if (interfaces_changed) { -- /* An interface needs to be deleted from this port */ -+ /* This port is still alive, but an interface needs to be deleted from it */ - _expect_port_interfaces(params, ovs_port->name, interfaces); - _set_port_interfaces(params, ovs_port->name, new_interfaces); - } -- /* The port is still alive */ -- json_array_append_new(new_ports, json_pack("[s,s]", "uuid", port_uuid)); -- if (ovs_port->connection_uuid) -- num_nm_ports++; - } - } - -- if (num_nm_ports == 0) { -- /* The bridge no longer has any NM port. Don't add it to "new_bridges" and set -- * bridges_changed=TRUE, so that it will be deleted. */ -+ if (ports_changed && num_nm_ports == 0) { -+ /* We are deleting the last nm-port of this bridge. Don't add it to "new_bridges" -+ * and set bridges_changed=TRUE, so that it will be deleted. */ - bridges_changed = TRUE; - } else { -+ /* Keep this bridge: it's still alive, or it's unrelated to the deleted interface */ -+ json_array_append_new(new_bridges, json_pack("[s,s]", "uuid", ovs_bridge->bridge_uuid)); -+ - if (ports_changed) { -- /* A port needs to be deleted from this bridge */ -+ /* This bridge is still alive, but a port needs to be deleted from it */ - _expect_bridge_ports(params, ovs_bridge->name, ports); - _set_bridge_ports(params, ovs_bridge->name, new_ports); - } -- /* The bridge is still alive */ -- json_array_append_new(new_bridges, json_pack("[s,s]", "uuid", ovs_bridge->bridge_uuid)); - } - } - - if (bridges_changed) { -- /* A port needs to be deleted from this bridge */ -+ /* A bridge needs to be deleted */ - _expect_ovs_bridges(params, priv->db_uuid, bridges); - _set_ovs_bridges(params, priv->db_uuid, new_bridges); - } --- -2.50.1 - diff --git a/1002-support-reapplying-sriov-vfs-rhel-113956.patch b/1002-support-reapplying-sriov-vfs-rhel-113956.patch deleted file mode 100644 index 02a156b..0000000 --- a/1002-support-reapplying-sriov-vfs-rhel-113956.patch +++ /dev/null @@ -1,178 +0,0 @@ -From 59a54e8f9431f730b0d99d737be821988d7d867e Mon Sep 17 00:00:00 2001 -From: Jan Vaclav -Date: Thu, 14 Aug 2025 12:52:09 +0200 -Subject: [PATCH 1/2] device: extract sriov platform vf generation to separate - function - -(cherry picked from commit 588a69cd1b0e5bab7371f297c6450d17f5de9ab2) -(cherry picked from commit b2d8f60c4970401b4e981604eceaa37520052fcf) ---- - src/core/devices/nm-device.c | 61 +++++++++++++++++++++++++----------- - 1 file changed, 43 insertions(+), 18 deletions(-) - -diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c -index f6057e529f..d88d785422 100644 ---- a/src/core/devices/nm-device.c -+++ b/src/core/devices/nm-device.c -@@ -10390,6 +10390,43 @@ sriov_params_cb(GError *error, gpointer user_data) - nm_device_activate_schedule_stage1_device_prepare(self, FALSE); - } - -+static gboolean -+sriov_gen_platform_vfs(NMDevice *self, -+ NMSettingSriov *s_sriov, -+ NMPlatformVF ***plat_vfs_out, -+ GError **error) -+{ -+ nm_auto_freev NMPlatformVF **plat_vfs = NULL; -+ guint num; -+ -+ nm_assert(s_sriov); -+ nm_assert(plat_vfs_out && !*plat_vfs_out); -+ -+ num = nm_setting_sriov_get_num_vfs(s_sriov); -+ plat_vfs = g_new0(NMPlatformVF *, num + 1); -+ -+ for (int i = 0; i < num; i++) { -+ NMSriovVF *vf = nm_setting_sriov_get_vf(s_sriov, i); -+ gs_free_error GError *local = NULL; -+ -+ plat_vfs[i] = sriov_vf_config_to_platform(self, vf, &local); -+ -+ if (!plat_vfs[i]) { -+ g_set_error(error, -+ local->domain, -+ local->code, -+ "VF '%s' is invalid: %s", -+ nm_utils_sriov_vf_to_str(vf, FALSE, NULL), -+ local->message); -+ return FALSE; -+ } -+ } -+ -+ *plat_vfs_out = g_steal_pointer(&plat_vfs); -+ -+ return TRUE; -+} -+ - /* - * activate_stage1_device_prepare - * -@@ -10436,10 +10473,7 @@ activate_stage1_device_prepare(NMDevice *self) - if (s_sriov && nm_device_has_capability(self, NM_DEVICE_CAP_SRIOV)) { - nm_auto_freev NMPlatformVF **plat_vfs = NULL; - gs_free_error GError *error = NULL; -- NMSriovVF *vf; - NMTernary autoprobe; -- guint num; -- guint i; - - autoprobe = nm_setting_sriov_get_autoprobe_drivers(s_sriov); - if (autoprobe == NM_TERNARY_DEFAULT) { -@@ -10452,21 +10486,12 @@ activate_stage1_device_prepare(NMDevice *self) - NM_OPTION_BOOL_TRUE); - } - -- num = nm_setting_sriov_get_num_vfs(s_sriov); -- plat_vfs = g_new0(NMPlatformVF *, num + 1); -- for (i = 0; i < num; i++) { -- vf = nm_setting_sriov_get_vf(s_sriov, i); -- plat_vfs[i] = sriov_vf_config_to_platform(self, vf, &error); -- if (!plat_vfs[i]) { -- _LOGE(LOGD_DEVICE, -- "failed to apply SR-IOV VF '%s': %s", -- nm_utils_sriov_vf_to_str(vf, FALSE, NULL), -- error->message); -- nm_device_state_changed(self, -- NM_DEVICE_STATE_FAILED, -- NM_DEVICE_STATE_REASON_SRIOV_CONFIGURATION_FAILED); -- return; -- } -+ if (!sriov_gen_platform_vfs(self, s_sriov, &plat_vfs, &error)) { -+ _LOGE(LOGD_DEVICE, "cannot parse the VF list: %s", error->message); -+ nm_device_state_changed(self, -+ NM_DEVICE_STATE_FAILED, -+ NM_DEVICE_STATE_REASON_SRIOV_CONFIGURATION_FAILED); -+ return; - } - - /* When changing the number of VFs the kernel can block --- -2.50.1 - - -From 79e494539f6e0abfebb92f099c3c1242f13defec Mon Sep 17 00:00:00 2001 -From: Jan Vaclav -Date: Thu, 14 Aug 2025 13:00:53 +0200 -Subject: [PATCH 2/2] device: add support for reapplying the `sriov.vfs` - property - -Adds support for reapplying the `sriov.vfs` property. Note this -does not include `num_vfs`, as the configuration needs to be reset -and reconfigured from scratch in that case. - -Previously, if an existing VF is modified (e.g. if we change the `trust` -flag), we reset all VF configurations, and started from scratch. But in -some cases, this is unnecessarily disruptive. - -Resolves: https://issues.redhat.com/browse/RHEL-95844 -(cherry picked from commit 4ba3ffee6788e6d8b75aff6c7aa21f92e45d5b9c) -(cherry picked from commit 6f454c98a98818e96ecd4f228f1e42febd2b2b32) ---- - src/core/devices/nm-device.c | 31 +++++++++++++++++++++++++++++-- - 1 file changed, 29 insertions(+), 2 deletions(-) - -diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c -index d88d785422..78301a9698 100644 ---- a/src/core/devices/nm-device.c -+++ b/src/core/devices/nm-device.c -@@ -14087,7 +14087,8 @@ can_reapply_change(NMDevice *self, - return nm_device_hash_check_invalid_keys(diffs, - NM_SETTING_SRIOV_SETTING_NAME, - error, -- NM_SETTING_SRIOV_PRESERVE_ON_DOWN); -+ NM_SETTING_SRIOV_PRESERVE_ON_DOWN, -+ NM_SETTING_SRIOV_VFS); - } - - out_fail: -@@ -14265,9 +14266,35 @@ check_and_reapply_connection(NMDevice *self, - - nm_device_link_properties_set(self, TRUE); - -- if (priv->state >= NM_DEVICE_STATE_CONFIG) -+ if (priv->state >= NM_DEVICE_STATE_CONFIG) { -+ GHashTable *sriov_diff; -+ - lldp_setup(self, NM_TERNARY_DEFAULT); - -+ sriov_diff = nm_g_hash_table_lookup(diffs, NM_SETTING_SRIOV_SETTING_NAME); -+ -+ if (sriov_diff && nm_g_hash_table_lookup(sriov_diff, NM_SETTING_SRIOV_VFS)) { -+ nm_auto_freev NMPlatformVF **plat_vfs = NULL; -+ NMSettingSriov *s_sriov; -+ -+ s_sriov = (NMSettingSriov *) nm_connection_get_setting(applied, NM_TYPE_SETTING_SRIOV); -+ -+ if (s_sriov) { -+ gs_free_error GError *local = NULL; -+ -+ if (!sriov_gen_platform_vfs(self, s_sriov, &plat_vfs, &local) -+ || !nm_platform_link_set_sriov_vfs(nm_device_get_platform(self), -+ priv->ifindex, -+ (const NMPlatformVF *const *) plat_vfs)) { -+ _LOGE(LOGD_DEVICE, -+ "failed to reapply SRIOV VFs%s%s", -+ local ? ": " : "", -+ local ? local->message : ""); -+ } -+ } -+ } -+ } -+ - if (priv->state >= NM_DEVICE_STATE_IP_CONFIG) { - /* Allow reapply of MTU */ - priv->mtu_source = NM_DEVICE_MTU_SOURCE_NONE; --- -2.50.1 - diff --git a/1003-remove-lacp-active-from-reapply-subset-rhel-154247.patch b/1003-remove-lacp-active-from-reapply-subset-rhel-154247.patch deleted file mode 100644 index 3bacecd..0000000 --- a/1003-remove-lacp-active-from-reapply-subset-rhel-154247.patch +++ /dev/null @@ -1,33 +0,0 @@ -From ec93c9d282dc9e73fc2566554a4114a2c86e79b2 Mon Sep 17 00:00:00 2001 -From: Pradyumn Rahar -Date: Tue, 9 Sep 2025 15:23:22 +0000 -Subject: [PATCH] bond: remove `lacp_active` option from reapply subset - -NM_SETTING_BOND_OPTION_LACP_ACTIVE is flagged as BOND_OPTFLAG_IFDOWN in -the kernel and hence should not be in OPTIONS_REAPPLY_SUBSET. - -Authored-by: Mohith Kumar Thummaluru -Signed-off-by: Mohith Kumar Thummaluru -Signed-off-by: Pradyumn Rahar -(cherry picked from commit 9c48bae3b2747fb182f74897c8b8251cb820c804) ---- - src/core/devices/nm-device-bond.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/src/core/devices/nm-device-bond.c b/src/core/devices/nm-device-bond.c -index 673d236194..39e68e966b 100644 ---- a/src/core/devices/nm-device-bond.c -+++ b/src/core/devices/nm-device-bond.c -@@ -52,8 +52,7 @@ - NM_SETTING_BOND_OPTION_PACKETS_PER_SLAVE, NM_SETTING_BOND_OPTION_PRIMARY_RESELECT, \ - NM_SETTING_BOND_OPTION_RESEND_IGMP, NM_SETTING_BOND_OPTION_USE_CARRIER, \ - NM_SETTING_BOND_OPTION_XMIT_HASH_POLICY, NM_SETTING_BOND_OPTION_NUM_GRAT_ARP, \ -- NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY, NM_SETTING_BOND_OPTION_ARP_MISSED_MAX, \ -- NM_SETTING_BOND_OPTION_LACP_ACTIVE -+ NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY, NM_SETTING_BOND_OPTION_ARP_MISSED_MAX - - #define OPTIONS_REAPPLY_FULL \ - OPTIONS_REAPPLY_SUBSET, NM_SETTING_BOND_OPTION_ACTIVE_SLAVE, \ --- -2.53.0 - diff --git a/NetworkManager.spec b/NetworkManager.spec index 94e9581..b15af46 100644 --- a/NetworkManager.spec +++ b/NetworkManager.spec @@ -4,10 +4,10 @@ %global glib2_version %(pkg-config --modversion glib-2.0 2>/dev/null || echo bad) %global epoch_version 1 -%global real_version 1.54.0 -%global git_tag_version 1.54.0 +%global real_version 1.56.0 +%global git_tag_version 1.56.0 %global rpm_version %{real_version} -%global release_version 3 +%global release_version 1 %global snapshot %{nil} %global git_sha %{nil} %global bcond_default_debug 0 @@ -188,9 +188,7 @@ Source9: readme-ifcfg-rh-migrated.txt # Patch0001: 0001-some.patch # Bugfixes that are only relevant until next rebase of the package. -Patch1001: 1001-ovs-don-t-remove-unrelated-external-ports-rhel-121106.patch -Patch1002: 1002-support-reapplying-sriov-vfs-rhel-113956.patch -Patch1003: 1003-remove-lacp-active-from-reapply-subset-rhel-154247.patch +# Patch1001: 1001-some.patch Requires(post): systemd Requires(post): systemd-udev @@ -901,6 +899,7 @@ fi %{_libexecdir}/nm-dispatcher %{_libexecdir}/nm-initrd-generator %{_libexecdir}/nm-daemon-helper +%{_libexecdir}/nm-libnm-helper %{_libexecdir}/nm-priv-helper %dir %{_libdir}/%{name} %dir %{nmplugindir} @@ -1088,12 +1087,27 @@ fi %changelog -* Mon Mar 09 2026 Ján Václav - 1:1.54.0-3 -- Fix unexpected lacp_active error in logs (RHEL-154247) +* Fri Feb 13 2026 Vladimír Beneš - 1:1.56.0-1 +- Update to 1.56.0 -* Wed Oct 15 2025 Íñigo Huguet - 1:1.54.0-2 -- Support reapplying sriov.vfs (RHEL-113956) -- Fix removing unrelated OVS ports (RHEL-121106) +* Mon Dec 15 2025 Íñigo Huguet - 1:1.55.91-1 +- Update to 1.56.0 (rc2) +- Fix CVE-2025-9615 (RHEL-111772) + +* Tue Nov 18 2025 Íñigo Huguet - 1:1.55.90-1 +- Update to 1.56.0 (rc1) +- Support setting protocol version of HSR/PRP (RHEL-100764) +- Support interlink for HSR/PRP (RHEL-100768) +- Reject connections if the corresponding feature is disabled or removed (RHEL-93829) +- Improve logging of networking off (RHEL-103925) +- Don't delete unrelated OVS ports (RHEL-120176) + +* Tue Sep 16 2025 Vladimír Beneš - 1:1.55.4-1 +- Update to 1.55.4 (dev) +- Adding a VF configuration resets and re-configures all other VFs (RHEL-95844) +- Fix connection.autoconnect-ports of OVS ports (RHEL-93876) +- Global DNS config without domains silently ignored from D-Bus (RHEL-109853) +- Add support for a DHCP client-id kernelarg (RHEL-108454) * Mon Aug 04 2025 Filip Pokryvka - 1:1.54.0-1 - Update to 1.54.0 diff --git a/sources b/sources index 470ea62..416e3cb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (NetworkManager-1.54.0.tar.xz) = 78bb405f28918556fa921cf290e16a85a10c8b633d98fa764d1723f8e6af66ae9952b7a1a8576522081eead14b1171e55e766ba4b501e9c42665b179757a7626 +SHA512 (NetworkManager-1.56.0.tar.xz) = 79cf27c409bfb5fd00ac0d0c1ffc7e59fa084ef34666eff69ad22792ba6883afc05391acefcfb4041bae604ed5c52276a13582e63f1e01b7ea8d4019ad535dd6