From 1157024c2955e80e27abb19402b01ab1b33c8a11 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Wed, 24 May 2017 14:26:53 +0200 Subject: ifcfg: add support for NUM_VFS key --- libnm-core/nm-setting-wired.c | 7 +++++++ src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c | 5 +++++ src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c | 7 +++++++ 3 files changed, 19 insertions(+) diff --git a/libnm-core/nm-setting-wired.c b/libnm-core/nm-setting-wired.c index 580d7de03f..6523800fe8 100644 --- a/libnm-core/nm-setting-wired.c +++ b/libnm-core/nm-setting-wired.c @@ -1462,6 +1462,13 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_wired_class) * * Since: 1.10 **/ + /* ---ifcfg-rh--- + * property: num-vfs + * variable: NUM_VFS + * description: Number of virtual functions for a SR-IOV capable hardware. + * example: NUM_VFS=4 + * ---end--- + */ g_object_class_install_property (object_class, PROP_NUM_VFS, g_param_spec_int (NM_SETTING_WIRED_NUM_VFS, "", "", diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c index 17a0467de7..4f298a10bc 100644 --- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c +++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c @@ -4198,6 +4198,11 @@ make_wired_setting (shvarFile *ifcfg, svGetValue (ifcfg, "ETHTOOL_OPTS", &value)); nm_clear_g_free (&value); + g_object_set (s_wired, + NM_SETTING_WIRED_NUM_VFS, + (gint) svGetValueInt64 (ifcfg, "NUM_VFS", 10, -1, G_MAXINT32, -1), + NULL); + return (NMSetting *) g_steal_pointer (&s_wired); } diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c index fabff68fe2..863bc55d66 100644 --- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c +++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c @@ -991,6 +991,7 @@ write_wired_setting (NMConnection *connection, shvarFile *ifcfg, GError **error) gboolean auto_negotiate; NMSettingWiredWakeOnLan wol; const char *wol_password; + gint32 num_vfs; s_wired = nm_connection_get_setting_wired (connection); if (!s_wired) { @@ -1139,6 +1140,12 @@ write_wired_setting (NMConnection *connection, shvarFile *ifcfg, GError **error) } /* End ETHTOOL_OPT stuffing */ + num_vfs = nm_setting_wired_get_num_vfs (s_wired); + if (num_vfs == -1) + svUnsetValue (ifcfg, "NUM_VFS"); + else + svSetValueInt64 (ifcfg, "NUM_VFS", num_vfs); + svSetValueStr (ifcfg, "TYPE", TYPE_ETHERNET); return TRUE; -- cgit v1.2.1