summaryrefslogtreecommitdiff
path: root/src/core/platform/nm-fake-platform.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/platform/nm-fake-platform.c')
-rw-r--r--src/core/platform/nm-fake-platform.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/core/platform/nm-fake-platform.c b/src/core/platform/nm-fake-platform.c
index 5a16148514..0c1790e797 100644
--- a/src/core/platform/nm-fake-platform.c
+++ b/src/core/platform/nm-fake-platform.c
@@ -701,6 +701,33 @@ link_supports_sriov(NMPlatform *platform, int ifindex)
}
static gboolean
+link_change(NMPlatform *platform,
+ int ifindex,
+ NMPlatformLinkProps *props,
+ NMPortKind port_kind,
+ const NMPlatformLinkPortData *port_data,
+ NMPlatformLinkChangeFlags flags)
+{
+ 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);
@@ -1394,6 +1421,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;