summary refs log tree commit diff
path: root/src/core/platform/nm-fake-platform.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2023-06-28 15:04:35 +0200
committerMichael Biebl <biebl@debian.org>2023-06-28 15:04:35 +0200
commit14b0f3a9dc9ea90d60a3b057350fd4d637dc021a (patch)
tree951db959a175b866d0839749ca5d62ab91bb30fb /src/core/platform/nm-fake-platform.c
parent150fe9eef8dd22307ee16687509acde616663982 (diff)
New upstream version 1.42.8 upstream/1.42.8
Diffstat (limited to 'src/core/platform/nm-fake-platform.c')
-rw-r--r--src/core/platform/nm-fake-platform.c28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/core/platform/nm-fake-platform.c b/src/core/platform/nm-fake-platform.c
index 86d6bc5f..0c366d82 100644
--- a/src/core/platform/nm-fake-platform.c
+++ b/src/core/platform/nm-fake-platform.c
@@ -667,6 +667,31 @@ link_supports_sriov(NMPlatform *platform, int ifindex)
 }
 
 static gboolean
+link_change(NMPlatform                   *platform,
+            int                           ifindex,
+            NMPortKind                    port_kind,
+            const NMPlatformLinkPortData *port_data)
+{
+    NMFakePlatformLink       *device  = link_get(platform, ifindex);
+    nm_auto_nmpobj NMPObject *obj_tmp = NULL;
+
+    switch (port_kind) {
+    case NM_PORT_KIND_BOND:
+        obj_tmp                               = nmp_object_clone(device->obj, FALSE);
+        obj_tmp->link.port_kind               = NM_PORT_KIND_BOND;
+        obj_tmp->link.port_data.bond.queue_id = port_data->bond.queue_id;
+        obj_tmp->link.port_data.bond.prio_has = port_data->bond.prio_has;
+        obj_tmp->link.port_data.bond.prio     = port_data->bond.prio;
+        link_set_obj(platform, device, obj_tmp);
+        return TRUE;
+    case NM_PORT_KIND_NONE:
+        return TRUE;
+    }
+
+    return nm_assert_unreachable_val(TRUE);
+}
+
+static gboolean
 link_enslave(NMPlatform *platform, int master, int slave)
 {
     NMFakePlatformLink *device        = link_get(platform, slave);
@@ -770,7 +795,7 @@ static gboolean
 infiniband_partition_delete(NMPlatform *platform, int parent, int p_key)
 {
     NMFakePlatformLink *parent_device;
-    gs_free char       *name = NULL;
+    char                name[IFNAMSIZ];
 
     parent_device = link_get(platform, parent);
     g_return_val_if_fail(parent_device != NULL, FALSE);
@@ -1325,6 +1350,7 @@ nm_fake_platform_class_init(NMFakePlatformClass *klass)
     platform_class->link_set_address = link_set_address;
     platform_class->link_set_mtu     = link_set_mtu;
 
+    platform_class->link_change       = link_change;
     platform_class->link_change_flags = link_change_flags;
 
     platform_class->link_get_driver_info = link_get_driver_info;