all: detect SR-IOV device support

(cherry picked from commit f13fd4524c)
This commit is contained in:
Beniamino Galvani
2017-04-14 23:16:11 +02:00
parent 2511e27e76
commit 2409de0bb1
3 changed files with 9 additions and 3 deletions

View File

@@ -101,10 +101,11 @@ NmcOutputField nmc_fields_dev_show_cap[] = {
{"CARRIER-DETECT", N_("CARRIER-DETECT")}, /* 1 */
{"SPEED", N_("SPEED")}, /* 2 */
{"IS-SOFTWARE", N_("IS-SOFTWARE")}, /* 3 */
{"SRIOV", N_("SRIOV")}, /* 4 */
{NULL, NULL}
};
#define NMC_FIELDS_DEV_SHOW_CAP_ALL "NAME,CARRIER-DETECT,SPEED,IS-SOFTWARE"
#define NMC_FIELDS_DEV_SHOW_CAP_COMMON "NAME,CARRIER-DETECT,SPEED,IS-SOFTWARE"
#define NMC_FIELDS_DEV_SHOW_CAP_ALL "NAME,CARRIER-DETECT,SPEED,IS-SOFTWARE,SRIOV"
#define NMC_FIELDS_DEV_SHOW_CAP_COMMON "NAME,CARRIER-DETECT,SPEED,IS-SOFTWARE,SRIOV"
/* Available fields for 'device show' - wired properties part */
NmcOutputField nmc_fields_dev_show_wired_prop[] = {
@@ -1196,6 +1197,7 @@ show_device_info (NMDevice *device, NmCli *nmc)
set_val_strc (arr, 1, (caps & NM_DEVICE_CAP_CARRIER_DETECT) ? _("yes") : _("no"));
set_val_str (arr, 2, speed_str);
set_val_strc (arr, 3, (caps & NM_DEVICE_CAP_IS_SOFTWARE) ? _("yes") : _("no"));
set_val_strc (arr, 4, (caps & NM_DEVICE_CAP_SRIOV) ? _("yes") : _("no"));
g_ptr_array_add (nmc->output_data, arr);
print_data (nmc); /* Print all data */

View File

@@ -239,6 +239,7 @@ typedef enum {
* @NM_DEVICE_CAP_NM_SUPPORTED: NetworkManager supports this device
* @NM_DEVICE_CAP_CARRIER_DETECT: this device can indicate carrier status
* @NM_DEVICE_CAP_IS_SOFTWARE: this device is a software device
* @NM_DEVICE_CAP_SRIOV: this device supports single-root I/O virtualization
*
* General device capability flags.
**/
@@ -247,9 +248,9 @@ typedef enum { /*< flags >*/
NM_DEVICE_CAP_NM_SUPPORTED = 0x00000001,
NM_DEVICE_CAP_CARRIER_DETECT = 0x00000002,
NM_DEVICE_CAP_IS_SOFTWARE = 0x00000004,
NM_DEVICE_CAP_SRIOV = 0x00000008,
} NMDeviceCapabilities;
/**
* NMDeviceWifiCapabilities:
* @NM_WIFI_DEVICE_CAP_NONE: device has no encryption/authentication capabilities

View File

@@ -2934,6 +2934,9 @@ realize_start_setup (NMDevice *self,
if (nm_platform_check_support_user_ipv6ll (nm_device_get_platform (self)))
priv->nm_ipv6ll = nm_platform_link_get_user_ipv6ll_enabled (nm_device_get_platform (self), priv->ifindex);
if (nm_platform_link_supports_sriov (nm_device_get_platform (self), priv->ifindex))
capabilities |= NM_DEVICE_CAP_SRIOV;
}
if (klass->get_generic_capabilities)