Commit Graph
30 Commits
Author SHA1 Message Date
Jacob Keller eff3cddc22 clarify implementation of ethtool's get_ts_info op
This patch adds some clarification about the intended way to implement
both SIOCSHWTSTAMP and ethtool's get_ts_info. The HWTSTAMP API has
several Rx filters which are very specific, as well as more general
filters. The specific filters really only exist to support some broken
hardware which can't fully implement the generic filters. This patch
adds clarification that it is okay to support the specific filters in
SIOCSHWTSTAMP by upscaling them to the generic filters. In addition,
update the header for ethtool_ts_info to specify that drivers ought to
only report the filters they support without upscaling in this manner.

Signed-off-by: Jacob Keller <[email protected]>
Acked-by: Richard Cochran <[email protected]>
Tested-by: Phil Schmitt <[email protected]>
Reviewed-by: Aaron Brown <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
2015-07-17 19:59:04 -07:00
Hadar Hen Zion a4244b0cf5 net/ethtool: Add current supported tunable options
Add strings array of the current supported tunable options.

Signed-off-by: Hadar Hen Zion <[email protected]>
Reviewed-by: Amir Vadai <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2015-06-11 00:36:37 -07:00
John Fastabend 8cf6f497de ethtool: Add helper routines to pass vf to rx_flow_spec
The ring_cookie is 64 bits wide which is much larger than can be used
for actual queue index values. So provide some helper routines to
pack a VF index into the cookie. This is useful to steer packets to
a VF ring without having to know the queue layout of the device.

CC: Alex Duyck <[email protected]>
Signed-off-by: John Fastabend <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
2015-05-28 03:31:12 -07:00
Parav Pandit c9a70d4346 net-next: ethtool: Added port speed macros.
Signed-off-by: Parav Pandit <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2015-05-19 16:32:18 -04:00
Hariprasad Shenai a450515204 ethtool: rename reserved1 memeber in ethtool_drvinfo for expansion ROM version
Renamed the reserved1 member of struct ethtool_drvinfo to erom_version to get
expansion/option ROM version of the adapter if present.

Signed-off-by: Hariprasad Shenai <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2015-02-09 14:07:54 -08:00
Eyal Perry 892311f66f ethtool: Support for configurable RSS hash function
This patch extends the set/get_rxfh ethtool-options for getting or
setting the RSS hash function.

It modifies drivers implementation of set/get_rxfh accordingly.

This change also delegates the responsibility of checking whether a
modification to a certain RX flow hash parameter is supported to the
driver implementation of set_rxfh.

User-kernel API is done through the new hfunc bitmask field in the
ethtool_rxfh struct. A bit set in the hfunc field is corresponding to an
index in the new string-set ETH_SS_RSS_HASH_FUNCS.

Got approval from most of the relevant driver maintainers that their
driver is using Toeplitz, and for the few that didn't answered, also
assumed it is Toeplitz.

Cc: Tom Lendacky <[email protected]>
Cc: Ariel Elior <[email protected]>
Cc: Prashant Sreedharan <[email protected]>
Cc: Michael Chan <[email protected]>
Cc: Hariprasad S <[email protected]>
Cc: Sathya Perla <[email protected]>
Cc: Subbu Seetharaman <[email protected]>
Cc: Ajit Khaparde <[email protected]>
Cc: Jeff Kirsher <[email protected]>
Cc: Jesse Brandeburg <[email protected]>
Cc: Bruce Allan <[email protected]>
Cc: Carolyn Wyborny <[email protected]>
Cc: Don Skidmore <[email protected]>
Cc: Greg Rose <[email protected]>
Cc: Matthew Vick <[email protected]>
Cc: John Ronciak <[email protected]>
Cc: Mitch Williams <[email protected]>
Cc: Amir Vadai <[email protected]>
Cc: Solarflare linux maintainers <[email protected]>
Cc: Shradha Shah <[email protected]>
Cc: Shreyas Bhatewara <[email protected]>
Cc: "VMware, Inc." <[email protected]>
Cc: Ben Hutchings <[email protected]>
Signed-off-by: Eyal Perry <[email protected]>
Signed-off-by: Amir Vadai <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-12-08 21:07:10 -05:00
Saeed Mahameed dcf972a334 ethtool, net/mlx4_en: Add 100M, 20G, 56G speeds ethtool reporting support
Added 100M, 20G and 56G ethtool speed reporting support.
Update mlx4_en_test_speed self test with the new speeds.

Defined new link speeds in include/uapi/linux/ethtool.h:
+#define SPEED_20000	20000
+#define SPEED_40000	40000
+#define SPEED_56000	56000

Signed-off-by: Saeed Mahameed <[email protected]>
Signed-off-by: Amir Vadai <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-10-28 17:18:00 -04:00
Saeed Mahameed 7202da8b7f ethtool, net/mlx4_en: Cable info, get_module_info/eeprom ethtool support
Added support for get_module_info/get_module_eeprom ethtool support for cable info reading.

Added new cable types enum in include/uapi/linux/ethtool.h for ethtool use.
+#define ETH_MODULE_SFF_8636            0x3
+#define ETH_MODULE_SFF_8636_LEN        256
+#define ETH_MODULE_SFF_8436            0x4
+#define ETH_MODULE_SFF_8436_LEN        256

Signed-off-by: Saeed Mahameed <[email protected]>
Signed-off-by: Amir Vadai <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-10-28 17:18:00 -04:00
Eric Dumazet 1255a50554 ethtool: Ethtool parameter to dynamically change tx_copybreak
Use new ethtool [sg]et_tunable() to set tx_copybread (inline threshold)

Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: Amir Vadai <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-10-06 01:04:16 -04:00
Govindarajulu Varadarajan f0db9b0734 ethtool: Add generic options for tunables
This patch adds new ethtool cmd, ETHTOOL_GTUNABLE & ETHTOOL_STUNABLE for getting
tunable values from driver.

Add get_tunable and set_tunable to ethtool_ops. Driver implements these
functions for getting/setting tunable value.

Signed-off-by: Govindarajulu Varadarajan <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-09-05 12:12:20 -07:00
Ben Hutchings 38c891a49d ethtool: Improve explanation of the two arrays following struct ethtool_rxfh
The use of two variable-length arrays is unusual so deserves a bit
more explanation.

Signed-off-by: Ben Hutchings <[email protected]>
2014-05-19 01:19:30 +01:00
Ben Hutchings 7455fa2422 ethtool: Name the 'no change' value for setting RSS hash key but not indir table
We usually allocate special values of u32 fields starting from the top
down, so also change the value to 0xffffffff.  As these operations
haven't been included in a stable release yet, it's not too late to
change.

Signed-off-by: Ben Hutchings <[email protected]>
2014-05-19 01:18:19 +01:00
Venkata Duvvuru 3de0b59239 ethtool: Support for configurable RSS hash key
This ethtool patch primarily copies the ioctl command data structures
from/to the User space and invokes the driver hook.

Signed-off-by: Venkat Duvvuru <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-04-22 21:27:57 -04:00
Ben Hutchings 073e3cf219 ethtool: Fix unwanted section breaks in kernel-doc
A colon almost unavoidably starts a new section.  The script should be
changed to provide a way to avoid this, but for now reword the
comments to avoid using colons.

Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-02-12 17:33:04 -05:00
Ben Hutchings ba569dc3e8 ethtool: Move kernel-doc comment next to struct ethtool_dump definition
The kernel-doc script does not tolerate the macro definition in between.

Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-02-12 17:33:04 -05:00
Ben Hutchings f432c095f7 ethtool: Expand documentation of struct ethtool_perm_addr
Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-02-12 17:33:03 -05:00
Ben Hutchings 590912298c ethtool: Expand documentation of struct ethtool_stats
Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-02-12 17:33:03 -05:00
Ben Hutchings 4e5a62db2b ethtool: Expand documentation of struct ethtool_test
Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-02-12 17:33:03 -05:00
Ben Hutchings fe5df1b91e ethtool: Expand documentation of string set types
Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-02-12 17:33:03 -05:00
Ben Hutchings 6a7a1081ce ethtool: Update documentation of struct ethtool_pauseparam
Convert the inline comments to kernel-doc format.

Explicitly specify that non-zero autoneg is an error if link
autonegotiation is disabled.

Specify that pause capabilities should be advertised dependent on link
autonegotiation, not the autoneg flag here.  There is no way to
opt-out of pause frame autonegotiation, and this improves behaviour
when the link partner is configured to follow pause frame
autonegotiation and our interface is not.

Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-02-12 17:33:02 -05:00
Ben Hutchings af440a8aed ethtool: Expand documentation of struct ethtool_ringparam
Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-02-12 17:33:02 -05:00
Ben Hutchings c8364a63f6 ethtool: Expand documentation of struct ethtool_eeprom
Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-02-12 17:33:02 -05:00
Ben Hutchings 09fb8bb068 ethtool: Expand documentation of struct ethtool_regs
Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-02-12 17:33:02 -05:00
Ben Hutchings 02d59f3fdb ethtool: Expand documentation of struct ethtool_wol
Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-02-12 17:33:02 -05:00
Ben Hutchings daba1b6bc1 ethtool: Expand documentation of struct ethtool_drvinfo
Replace the inline comments (and some others below) with a full
explanation of the semantics, in kernel-doc format.  Specify which
strings may be empty.  Document the relationship with other commands.

Replace the 'deprecation' of some fields with a proper explanation of
the conversion to generalised string sets, as userland programs may
not be able to assume that ETHTOOL_GSSET_INFO is available.

Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-02-12 17:33:02 -05:00
Ben Hutchings bf8fc60a62 ethtool: Expand documentation of struct ethtool_cmd
struct ethtool_cmd has very limited documentation; it contains
several obscure or obsolete fields and several with non-obvious
interpretation.

Replace the inline comments (and some others below) with a full
explanation of the semantics as well as I understand them, in
kernel-doc format.  Formally deprecate some fields that seem to be of
historical use only.

Extend the comment about 32/64-bit compatibility to cover all
ethtool structures.

Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-02-12 17:33:01 -05:00
Florian Fainelli 7ec8721142 net: ethtool: disambiguate XCVR_* meaning
Add a comment which explains the real meaning of XCVR_INTERNAL (PHY and
Ethernet MAC in the same package/die) and XCVR_EXTERNAL (PHY and
Ethernet MAC in a different package/die). Most if not all of the drivers
setting their transceiver type already do it the way the comment
describes it.

Signed-off-by: Florian Fainelli <[email protected]>
Reviewed-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2013-05-27 22:42:50 -07:00
Yan Burman dc2e57340d net: ethool: Document struct ethtool_flow_ext
Add documentation for struct ethtool_flow_ext especially in regard
to what flags are needed for which fields.

Signed-off-by: Yan Burman <[email protected]>
Reviewed-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2012-12-13 12:58:11 -05:00
Yan Burman d4676eac0d net: ethtool: Add destination MAC address to flow steering API
Add ability to specify destination MAC address for L3/L4 flow spec
in order to be able to specify action for different VM's under vSwitch
configuration. This change is transparent to older userspace.

Signed-off-by: Yan Burman <[email protected]>
Signed-off-by: Amir Vadai <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2012-12-12 13:02:30 -05:00
David Howells 607ca46e97 UAPI: (Scripted) Disintegrate include/linux
Signed-off-by: David Howells <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Acked-by: Thomas Gleixner <[email protected]>
Acked-by: Michael Kerrisk <[email protected]>
Acked-by: Paul E. McKenney <[email protected]>
Acked-by: Dave Jones <[email protected]>
2012-10-13 10:46:48 +01:00