summaryrefslogtreecommitdiff
path: root/ethtool.c
AgeCommit message (Collapse)AuthorFilesLines
2010-12-15ethtool: Remove manual page from TODO listBen Hutchings1-1/+0
The manual page provides a pretty good explanation of all options now. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2010-12-15ethtool: Remove MII ioctls from TODO listBen Hutchings1-2/+0
Ethernet drivers generally support the ethtool API now, and the mii, mdio and phy libraries make it easy to do so using generic MDIO registers. I see no point in adding a fallback here. Further, using SIOCDEVPRIVATE with arbitrary drivers is a really bad idea. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2010-11-16ethtool: Add support for vlan accleration.Jesse Gross1-3/+18
The kernel now has support for enabling and disabling vlan acceleration, similar to other forms of offloading. This adds the complementary userspace support. Signed-off-by: Jesse Gross <jesse@nicira.com> [bwh: Fix references to 'off_flags_unwanted', renamed to 'off_flags_mask'] Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2010-11-16ethtool: add get permanent address optionStephen Hemminger1-1/+37
Add command level support for showing permanent address. The ioctl has been around for a long time but there was no option to display it. Note: MAX_ADDR_LEN is defined in netdevice.h but including netdevice.h leads to multiple definition errors with if.h. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> [bwh: Fix use of '|' in place of '||', as noted by Joe Perches] Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2010-11-16ethtool: add stmmac supportGiuseppe CAVALLARO1-0/+2
Add the stmmac support into the ethtool to dump both the Mac Core and Dma registers. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2010-11-16ethtool: Add my authorship and Solarflare copyright noticeBen Hutchings1-0/+2
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2010-11-16ethtool: Add Ethernet-level RX n-tuple filtering and 'clear' actionBen Hutchings1-8/+60
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2010-11-16ethtool: Add MAC parameter type based on the parse_sopass() functionBen Hutchings1-12/+14
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2010-11-16ethtool: Fix RX n-tuple masks and documentationBen Hutchings1-25/+90
For fields with unspecified values, explicitly mask all bits. Do not allow specifying a mask without a value. Change usage information to clarify which parameters are optional or required. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2010-11-16ethtool: Generalise cmdline_info::unwanted_val to a "seen" flag or bitmaskBen Hutchings1-31/+37
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2010-08-10ethtool: Fix handling of zero weights for flow hash indirectionBen Hutchings1-1/+1
The loop to generate an indirection table from a list of weights never advances by more than one weight at a time. Thus, if there is a 0 in the list (except at the end) the corresponding RX ring will be assigned 1 hash bucket rather than 0. Change 'if' to 'while'. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-08-10ethtool: Use inet_aton() to parse IPv4 addresses for RX n-tuple controlBen Hutchings1-10/+15
Note that inet_aton() allows the address to be specified as a single 32-bit number in the same formats as strtoull(), so this is backward- compatible. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-07-02ethtool: Add support for control of RX flow hash indirectionBen Hutchings1-0/+162
Many NICs use an indirection table to map an RX flow hash value to one of an arbitrary number of queues (not necessarily a power of 2). It can be useful to remove some queues from this indirection table so that they are only used for flows that are specifically filtered there. It may also be useful to weight the mapping to account for user processes with the same CPU-affinity as the RX interrupts. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-06-25ethtool: Use named flag support to update extended offload flagsBen Hutchings1-58/+12
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-06-25ethtool: Implement named message type flagsBen Hutchings1-11/+93
Allow message type flags to be turned on and off by name. Print the names of the currently set flags below the numeric value. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-06-25ethtool: Add support for named flagsBen Hutchings1-1/+39
Define an argument type CMDL_FLAG, which can be used to set and clear flags. For each setting that can be modified in this way, the flags to be set and cleared are accumulated in two variables. Add support for CMDL_FLAGS parse_generic_cmdline(). Add utility function print_flags(). Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-06-25ethtool: Mark show_usage() as noreturnBen Hutchings1-0/+2
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-06-25ethtool: Parse integers into variables of different sizes and byte ordersBen Hutchings1-91/+135
The arguments for RX n-tuple traffic direction are filled into structure fields of varying size, some of which are in big-endian rather than native byte order. Currently parse_generic_cmdline() only supports 32-bit integers in native byte order, so this does not work correctly. Replace CMDL_INT and CMDL_UINT with the more explicit CMDL_S32 and CMDL_U32. Add CMDL_U16 and CMDL_U64 for narrower and wider integers, and CMDL_BE16 and CMDL_BE32 for big-endian unsigned integers. Use them for RX n-tuple argument parsing. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-06-21ethtool: Add support for sfc register dumpsBen Hutchings1-0/+1
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-04-06ethtool: RXHASH flag support (v2)Stephen Hemminger1-5/+34
Add support for RXHASH flag in ethtool offload. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-03-30ethtool: Correctly pull n-tuple string length for get_rx_ntuplePeter Waskiewicz1-3/+16
This patch fixes inconsistencies with the kernel header files, while correctly gets the variable length string counts for the get_rx_ntuple return value. It does this by using the new GSSET_INFO ioctl. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-02-24Support n-tuple filter programmingPeter Waskiewicz1-5/+151
Program underlying ethernet devices with n-tuple flow classification filters. This also adds a new flag to ethtool_flags, allowing n-tuple programming to be toggled using the set_flags call. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-12-24ethtool: Can't parse ints with stroul()PJ Waskiewicz1-2/+21
A recent change to how int's were being parsed from the command line had them being read in with an unsigned int string operator. This didn't allow signed numbers from being read in correctly. This patch adds a get_uint() routine, and fixes the get_int() routine to read in signed values. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-12-23ethtool: add support for at76c50x-usb driverJohn W. Linville1-0/+1
Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-12-20ethtool: Do not report link partner advertising flags if set to 0Ben Hutchings1-1/+3
Only some drivers (and none before kernel version 2.6.31) currently set these flags. When the flags are equal to 0 and so we don't know what the link partner advertised, don't report anything. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-12-01ethtool: Fix switch on port typeBen Hutchings1-6/+6
The new port type cases in commit 6e0512c 'ethtool: Add Direct Attach to the available connector ports' were somehow inserted into the switch on duplex type, not on port type. Move them to the correct place. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-12-01ethtool: Report MDI-X status for twisted-pair interfacesBen Hutchings1-0/+16
Based on a patch by Chaitanya Lala <clala@riverbed.com>. The MDI-X status can be a useful tool for diagnosing network connectivity issues. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-11-29ethtool: Add Direct Attach to the available connector portsPJ Waskiewicz1-0/+6
This adds Direct Attach SFP+ types to the connector ports for the GSET mode. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-11-25ethtool: add support for block writing of EEPROMsMandeep Singh Baines1-14/+44
EEPROM write only supports byte writing. Add support for writing an arbitrary number of bytes at an arbitrary offset. Signed-off-by: Mandeep Singh Baines <msb@google.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-11-25Consolidate cmd line error checking.Jay Fenlason1-24/+32
This also fixes the bug that the usage message displays %%[dx] instead of %[dx]. This does not fix the fact that the usage message says %[dx] in some places and 'N' in others. Maybe it should use %d where only base-10 is accepted, %x where only base-16 is, and N where either is acceptable. Signed-off-by: Jay Fenlason <fenlason@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-11-25ethtool: Add option to flash firmware image from specified file, to a device.Ajit Khaparde1-1/+54
This patch adds a new "-f" option to the ethtool utility to flash a firmware image specified by a file, to a network device. The filename is passed to the network driver which will flash the image on the chip using the request_firmware path. The region "on the chip" to be flashed can be specified by an option. It is up to the device driver to enumerate the region number passed by ethtool, to the region to be flashed. The default behavior is to flash all the regions on the chip. Usage: ethtool -f <interface name> <filename of firmware image> ethtool -f <interface name> <filename of firmware image> [ REGION-NUMBER-TO-FLASH ] Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-11-25ethtool: Report pause auto-negotiation flagsBen Hutchings1-0/+13
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-11-25ethtool: Report link partner advertisingBen Hutchings1-9/+11
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-11-25ethtool: Decode PORT_OTHERBen Hutchings1-0/+3
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-11-25ethtool: Remove support for RX hashing by portBen Hutchings1-7/+1
The kernel-side support for this was removed by: commit 59089d8d162ddcb5c434672e915331964d38a754 Author: Santwona Behera <santwona.behera@sun.com> Date: Fri Feb 20 00:58:13 2009 -0800 ethtool: Add RX pkt classification interface Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-03-23Command line help does not require DEVNAME on command line.Jeff Garzik1-1/+2
Reflect this in usage text. Patch via Robert Scheck <robert@fedoraproject.org>, possibly other sources as well? Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-03-06ethtool: Support arbitrary speedsBen Hutchings1-32/+10
The speed and speed_hi fields of struct ethtool_cmd together represent a value in units of Mbit/s. The valid speed settings are hardware- dependent and should be checked by the driver. Remove our validation and allow arbitrary positive values. Continue to report 0 and -1 as "Unknown!" since some drivers will report these invalid values when the link is down. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-03-06Merge several minor changes from Debian.Jeff Garzik1-41/+49
Namely, wrap ioctl send so that Debian can more easily support kernels older than 2.4.x. We don't support that, but they wish to. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-03-06ethtool: Show short message for syntax errorBen Hutchings1-7/+16
In case of a syntax error it's likely to be more helpful to just say that rather than showing the entire usage information, which is now very long. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-03-06Get/set GRO settings.Jeff Garzik1-8/+35
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-09-13ethtool: command line support for lroBen Hutchings1-6/+47
Add lro support to command in similar manner to TSO, GSO, etc. Based on patch by Stephen Hemminger <http://article.gmane.org/gmane.linux.network/88124>. My changes: - Changed error return codes for setting LRO to be unique. - Report failure to get device flags, consistent with other offload settings. - Fixed code spacing. Tested with the sfc driver. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-09-13Add support for rx flow hash configuration in a network deviceSantwona Behera1-0/+254
Added new interfaces to ethtool to configure receive network flow distribution across multiple rx rings using hashing. Signed-off-by: Santwona Behera <santwona.behera@sun.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-09-13ethtool: Use ethtool_cmd->speed_hiBrandon Philips1-3/+3
struct ethtool_cmd now has a speed_hi field to support more than 65535 Mb devices, use it. Also, pull in the ethtool-copy.h file without the __KERNEL__ sections. Signed-off-by: Brandon Philips <bphilips@suse.de> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2007-12-01ethtool: fix typo on setting speed 10000Jesse Brandeburg1-1/+1
fix the typo in speed 10000 setting. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-11-23ethtool: Fix coalesce settings copy+paste typoAuke Kok1-2/+2
Coalesce setting errors use the same error messages as the descriptor ring errors. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-11-23ethtool: add support for supporting 10000baseTJesse Brandeburg1-0/+7
there is missing support in ethtool for reporting 10000baseT as SUPPORTED_10000baseT_Full. The code seems to be half implemented because the "advertising" field has the implementation. this patch just adds it for supported reporting. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-05ethtool: Add e1000e reg dump support (using e1000 decode function)Auke Kok1-0/+1
The e1000 register dump code can print out e1000e register dump information as well, so enable it for e1000e devices. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-09-13ethtool: add register dump support for intel 82598 chipsets (ixgbe driver)Nicholas Nunley1-0/+1
Signed-off-by: Nicholas Nunley <nicholas.d.nunley@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-09-13ethtool: add register dump support for intel 82575 chipsets (igb driver)Nicholas Nunley1-0/+1
Signed-off-by: Nicholas Nunley <nicholas.d.nunley@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-07-26Trim trailing whitespace.Jeff Garzik1-3/+3
Signed-off-by: Jeff Garzik <jeff@garzik.org>