]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ethtool: future-proof interface for speed extensions
authorMichael S. Tsirkin <mst@redhat.com>
Sun, 7 Feb 2016 21:27:55 +0000 (23:27 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 11 Feb 2016 14:52:12 +0000 (09:52 -0500)
Many virtual and not quite virtual devices allow any speed to be set
through ethtool. In particular, this applies to the virtio-net devices.
Document this fact to make sure people don't assume the enum lists all
possible values.  Reserve values greater than INT_MAX for future
extension and to avoid conflict with SPEED_UNKNOWN.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/ethtool.h

index 5e0940dcbfe87591f3de63440bc3d2ec447bf9aa..4345f80a2e33570bf988fb84923e759336179a50 100644 (file)
@@ -31,7 +31,7 @@
  *     physical connectors and other link features that are
  *     advertised through autonegotiation or enabled for
  *     auto-detection.
- * @speed: Low bits of the speed
+ * @speed: Low bits of the speed, 1Mb units, 0 to INT_MAX or SPEED_UNKNOWN
  * @duplex: Duplex mode; one of %DUPLEX_*
  * @port: Physical connector type; one of %PORT_*
  * @phy_address: MDIO address of PHY (transceiver); 0 or 255 if not
@@ -47,7 +47,7 @@
  *     obsoleted by &struct ethtool_coalesce.  Read-only; deprecated.
  * @maxrxpkt: Historically used to report RX IRQ coalescing; now
  *     obsoleted by &struct ethtool_coalesce.  Read-only; deprecated.
- * @speed_hi: High bits of the speed
+ * @speed_hi: High bits of the speed, 1Mb units, 0 to INT_MAX or SPEED_UNKNOWN
  * @eth_tp_mdix: Ethernet twisted-pair MDI(-X) status; one of
  *     %ETH_TP_MDI_*.  If the status is unknown or not applicable, the
  *     value will be %ETH_TP_MDI_INVALID.  Read-only.
@@ -1359,7 +1359,7 @@ enum ethtool_sfeatures_retval_bits {
  * it was forced up into this mode or autonegotiated.
  */
 
-/* The forced speed, 10Mb, 100Mb, gigabit, [2.5|5|10|20|25|40|50|56|100]GbE. */
+/* The forced speed, in units of 1Mb. All values 0 to INT_MAX are legal. */
 #define SPEED_10               10
 #define SPEED_100              100
 #define SPEED_1000             1000