net/ethtool: Introduce link_ksettings API for virtual network devices
authorCris Forno <cforno12@linux.vnet.ibm.com>
Fri, 28 Feb 2020 20:12:05 +0000 (14:12 -0600)
committerDavid S. Miller <davem@davemloft.net>
Sun, 1 Mar 2020 05:48:55 +0000 (21:48 -0800)
commit9aedc6e2f1c6708120b80748556fb6ad0567d15d
tree7ca50d57eb4d305a193132f5526025e12141e903
parent70ae1e127b486704c62d3537d69ca65c446d4d83
net/ethtool: Introduce link_ksettings API for virtual network devices

With the ethtool_virtdev_set_link_ksettings function in core/ethtool.c,
ibmveth, netvsc, and virtio now use the core's helper function.

Funtionality changes that pertain to ibmveth driver include:

  1. Changed the initial hardcoded link speed to 1GB.

  2. Added support for allowing a user to change the reported link
  speed via ethtool.

Functionality changes to the netvsc driver include:

  1. When netvsc_get_link_ksettings is called, it will defer to the VF
  device if it exists to pull accelerated networking values, otherwise
  pull default or user-defined values.

  2. Similarly, if netvsc_set_link_ksettings called and a VF device
  exists, the real values of speed and duplex are changed.

Signed-off-by: Cris Forno <cforno12@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ibm/ibmveth.c
drivers/net/ethernet/ibm/ibmveth.h
drivers/net/hyperv/netvsc_drv.c
drivers/net/virtio_net.c