summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/sriov.c
diff options
context:
space:
mode:
authorEdward Cree <ecree@solarflare.com>2015-05-20 11:12:13 +0100
committerDavid S. Miller <davem@davemloft.net>2015-05-21 18:43:54 -0400
commit4392dc6900618c1d5137a3cd43805d746a2c563a (patch)
tree811dc22de47b2bf3dcbf75db5e9a0040041f41a6 /drivers/net/ethernet/sfc/sriov.c
parent2d432f20d27c1813a2746008e16dd6ce12a14dc1 (diff)
downloadlinux-4392dc6900618c1d5137a3cd43805d746a2c563a.tar.bz2
sfc: add ndo_set_vf_link_state() function for EF10
Exercised with "ip link set <PF intf> vf <vf_i> state {auto|enable|disable}" Sets the reporting policy for VF link state to either - mirror physical link state - always up - always down get VF link state mode in efx_ef10_sriov_get_vf_config Exercised by "ip link show <PF intf>"; output will include a line like vf 0 MAC 12:34:56:78:9a:bc, link-state auto Signed-off-by: Shradha Shah <sshah@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/sfc/sriov.c')
-rw-r--r--drivers/net/ethernet/sfc/sriov.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/ethernet/sfc/sriov.c b/drivers/net/ethernet/sfc/sriov.c
index d4b74452a677..6c5edbdbfa27 100644
--- a/drivers/net/ethernet/sfc/sriov.c
+++ b/drivers/net/ethernet/sfc/sriov.c
@@ -58,3 +58,15 @@ int efx_sriov_get_vf_config(struct net_device *net_dev, int vf_i,
else
return -EOPNOTSUPP;
}
+
+int efx_sriov_set_vf_link_state(struct net_device *net_dev, int vf_i,
+ int link_state)
+{
+ struct efx_nic *efx = netdev_priv(net_dev);
+
+ if (efx->type->sriov_set_vf_link_state)
+ return efx->type->sriov_set_vf_link_state(efx, vf_i,
+ link_state);
+ else
+ return -EOPNOTSUPP;
+}