summaryrefslogtreecommitdiff
path: root/src/platform/nm-fake-platform.c
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2017-04-14 23:03:33 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2017-04-18 23:28:59 +0200
commit2511e27e7673db2fa070395476aec93d54d7f148 (patch)
tree532b966778c73b51e2b674313b1ffe449817d016 /src/platform/nm-fake-platform.c
parent785b51ed0236b0edcd61c91f9bf3c00d180a9134 (diff)
downloadNetworkManager-2511e27e7673db2fa070395476aec93d54d7f148.tar.gz
platform: detect SR-IOV support and allow changing the number of VFs
(cherry picked from commit 0a7694cf81d27cd3e73295372065f46a4765f3a1)
Diffstat (limited to 'src/platform/nm-fake-platform.c')
-rw-r--r--src/platform/nm-fake-platform.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/platform/nm-fake-platform.c b/src/platform/nm-fake-platform.c
index 42979ed209..38706f3796 100644
--- a/src/platform/nm-fake-platform.c
+++ b/src/platform/nm-fake-platform.c
@@ -573,6 +573,12 @@ link_set_mtu (NMPlatform *platform, int ifindex, guint32 mtu)
return !!device;
}
+static gboolean
+link_set_sriov_num_vfs (NMPlatform *platform, int ifindex, guint num_vfs)
+{
+ return TRUE;
+}
+
static const char *
link_get_udi (NMPlatform *platform, int ifindex)
{
@@ -633,6 +639,22 @@ link_supports_vlans (NMPlatform *platform, int ifindex)
}
static gboolean
+link_supports_sriov (NMPlatform *platform, int ifindex)
+{
+ NMFakePlatformLink *device = link_get (platform, ifindex);
+
+ if (!device)
+ return FALSE;
+
+ switch (device->link.type) {
+ case NM_LINK_TYPE_LOOPBACK:
+ return FALSE;
+ default:
+ return TRUE;
+ }
+}
+
+static gboolean
link_enslave (NMPlatform *platform, int master, int slave)
{
NMFakePlatformLink *device = link_get (platform, slave);
@@ -1470,11 +1492,13 @@ 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_set_sriov_num_vfs = link_set_sriov_num_vfs;
platform_class->link_get_driver_info = link_get_driver_info;
platform_class->link_supports_carrier_detect = link_supports_carrier_detect;
platform_class->link_supports_vlans = link_supports_vlans;
+ platform_class->link_supports_sriov = link_supports_sriov;
platform_class->link_enslave = link_enslave;
platform_class->link_release = link_release;