1. 01 Feb, 2012 1 commit
  2. 22 Jan, 2012 1 commit
  3. 04 Jan, 2012 2 commits
  4. 16 Dec, 2011 2 commits
  5. 16 Nov, 2011 7 commits
  6. 15 Sep, 2011 1 commit
    • Jiri Pirko's avatar
      net: consolidate and fix ethtool_ops->get_settings calling · 4bc71cb9
      Jiri Pirko authored
      
      
      This patch does several things:
      - introduces __ethtool_get_settings which is called from ethtool code and
        from drivers as well. Put ASSERT_RTNL there.
      - dev_ethtool_get_settings() is replaced by __ethtool_get_settings()
      - changes calling in drivers so rtnl locking is respected. In
        iboe_get_rate was previously ->get_settings() called unlocked. This
        fixes it. Also prb_calc_retire_blk_tmo() in af_packet.c had the same
        problem. Also fixed by calling __dev_get_by_index() instead of
        dev_get_by_index() and holding rtnl_lock for both calls.
      - introduces rtnl_lock in bnx2fc_vport_create() and fcoe_vport_create()
        so bnx2fc_if_create() and fcoe_if_create() are called locked as they
        are from other places.
      - use __ethtool_get_settings() in bonding code
      Signed-off-by: default avatarJiri Pirko <jpirko@redhat.com>
      
      v2->v3:
      	-removed dev_ethtool_get_settings()
      	-added ASSERT_RTNL into __ethtool_get_settings()
      	-prb_calc_retire_blk_tmo - use __dev_get_by_index() and lock
      	 around it and __ethtool_get_settings() call
      v1->v2:
              add missing export_symbol
      Reviewed-by: Ben Hutchings <bhutchings@solarflare.com> [except FCoE bits]
      Acked-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4bc71cb9
  7. 21 Jul, 2011 1 commit
  8. 08 Jun, 2011 1 commit
    • Alexander Duyck's avatar
      v2 ethtool: remove support for ETHTOOL_GRXNTUPLE · bff55273
      Alexander Duyck authored
      
      
      This change is meant to remove all support for displaying an ntuple as
      strings via ETHTOOL_GRXNTUPLE.  The reason for this change is due to the
      fact that multiple issues have been found including:
       - Multiple buffer overruns for strings being displayed.
       - Incorrect filters displayed, cleared filters with ring of -2 are displayed
       - Setting get_rx_ntuple displays no rules if defined.
       - Endianess wrong on displayed values.
       - Hard limit of 1024 filters makes display functionality extremely limited
      
      The only driver that had supported this interface was ixgbe.  Since it no
      longer uses the interface and due to the issues mentioned above I am
      submitting this patch to remove it.
      
      v2:
      Updated based on comments from Ben Hutchings
       - Left ETH_SS_NTUPLE_FILTERS in code but commented on it being deprecated
       - Removed ethtool_rx_ntuple_list and ethtool_rx_ntuple_flow_spec_container
       - Left ETHTOOL_GRXNTUPLE but commented it as deprecated
      
      Also cleaned up set_rx_ntuple since there is no flow spec container to
      maintain we can drop all the code for the alloc and free of it and just
      return ops->set_rx_ntuple().
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Acked-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bff55273
  9. 26 May, 2011 1 commit
  10. 17 May, 2011 1 commit
  11. 13 May, 2011 1 commit
    • Anirban Chakraborty's avatar
      ethtool: Added support for FW dump · 29dd54b7
      Anirban Chakraborty authored
      
      
      Added code to take FW dump via ethtool. Dump level can be controlled via setting the
      dump flag. A get function is provided to query the current setting of the dump flag.
      Dump data is obtained from the driver via a separate get function.
      
      Changes from v3:
      Fixed buffer length issue in ethtool_get_dump_data function.
      Updated kernel doc for ethtool_dump struct and get_dump_flag function.
      
      Changes from v2:
      Provided separate commands for get flag and data.
      Check for minimum of the two buffer length obtained via ethtool and driver and
      use that for dump buffer
      Pass up the driver return error codes up to the caller.
      Added kernel doc comments.
      Signed-off-by: default avatarAnirban Chakraborty <anirban.chakraborty@qlogic.com>
      Reviewed-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      29dd54b7
  12. 12 May, 2011 1 commit
  13. 08 May, 2011 2 commits
    • Mahesh Bandewar's avatar
      net: Allow ethtool to set interface in loopback mode. · eed2a12f
      Mahesh Bandewar authored
      
      
      This patch enables ethtool to set the loopback mode on a given interface.
      By configuring the interface in loopback mode in conjunction with a policy
      route / rule, a userland application can stress the egress / ingress path
      exposing the flows of the change in progress and potentially help developer(s)
      understand the impact of those changes without even sending a packet out
      on the network.
      
      Following set of commands illustrates one such example -
          a) ip -4 addr add 192.168.1.1/24 dev eth1
          b) ip -4 rule add from all iif eth1 lookup 250
          c) ip -4 route add local 0/0 dev lo proto kernel scope host table 250
          d) arp -Ds 192.168.1.100 eth1
          e) arp -Ds 192.168.1.200 eth1
          f) sysctl -w net.ipv4.ip_nonlocal_bind=1
          g) sysctl -w net.ipv4.conf.all.accept_local=1
          # Assuming that the machine has 8 cores
          h) taskset 000f netserver -L 192.168.1.200
          i) taskset 00f0 netperf -t TCP_CRR -L 192.168.1.100 -H 192.168.1.200 -l 30
      Signed-off-by: default avatarMahesh Bandewar <maheshb@google.com>
      Acked-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      eed2a12f
    • Stephen Hemminger's avatar
      ethtool: remove phys_id from ethtool_ops · 1ab7b6ac
      Stephen Hemminger authored
      
      
      After that all the upstream kernel drivers now use phys_id,
      and the old ethtool_ops interface (phys_id) can be removed.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1ab7b6ac
  14. 21 Apr, 2011 1 commit
  15. 14 Apr, 2011 1 commit
    • Allan, Bruce W's avatar
      ethtool: allow custom interval for physical identification · fce55922
      Allan, Bruce W authored
      
      
      When physical identification of an adapter is done by toggling the
      mechanism on and off through software utilizing the set_phys_id operation,
      it is done with a fixed duration for both on and off states.  Some drivers
      may want to set a custom duration for the on/off intervals.  This patch
      changes the API so the return code from the driver's entry point when it
      is called with ETHTOOL_ID_ACTIVE can specify the frequency at which to
      cycle the on/off states, and updates the drivers that have already been
      converted to use the new set_phys_id and use the synchronous method for
      identifying an adapter.
      
      The physical identification frequency set in the updated drivers is based
      on how it was done prior to the introduction of set_phys_id.
      
      Compile tested only.  Also fixes a compiler warning in sfc.
      
      v2: drivers do not return -EINVAL for ETHOOL_ID_ACTIVE
      v3: fold patchset into single patch and cleanup per Ben's feedback
      Signed-off-by: default avatarBruce Allan <bruce.w.allan@intel.com>
      Cc: Ben Hutchings <bhutchings@solarflare.com>
      Cc: Sathya Perla <sathya.perla@emulex.com>
      Cc: Subbu Seetharaman <subbu.seetharaman@emulex.com>
      Cc: Ajit Khaparde <ajit.khaparde@emulex.com>
      Cc: Michael Chan <mchan@broadcom.com>
      Cc: Eilon Greenstein <eilong@broadcom.com>
      Cc: Divy Le Ray <divy@chelsio.com>
      Cc: Don Fry <pcnet32@frontier.com>
      Cc: Jon Mason <jdmason@kudzu.us>
      Cc: Solarflare linux maintainers <linux-net-drivers@solarflare.com>
      Cc: Steve Hodgson <shodgson@solarflare.com>
      Cc: Stephen Hemminger <shemminger@linux-foundation.org>
      Cc: Matt Carlson <mcarlson@broadcom.com>
      Acked-by: default avatarJon Mason <jdmason@kudzu.us>
      Acked-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fce55922
  16. 13 Apr, 2011 1 commit
    • amit salecha's avatar
      net: ethtool support to configure number of channels · 8b5933c3
      amit salecha authored
      
      
      Ethtool support to configure RX, TX and other channels. combined field
      in struct ethtool_channels to reflect set of channel (RX, TX or other).
      Other channel can be link interrupts, SR-IOV coordination etc.
      
      ETHTOOL_GCHANNELS will report max and current number of RX channels,
      max and current number of TX channels, max and current number of other channel
      or max and current number of combined channel.
      
      Number of channel can be modify upto max number of channel through
      ETHTOOL_SCHANNELS command.
      
      Ben Hutchings:
      o define 'combined' and 'other' types.  Most multiqueue drivers pair up RX and TX
        queues so that most channels combine RX and TX work.
      o Please could you use a kernel-doc comment to describe the structure.
      Signed-off-by: default avatarAmit Kumar Salecha <amit.salecha@qlogic.com>
      Reviewed-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8b5933c3
  17. 12 Apr, 2011 1 commit
  18. 11 Apr, 2011 1 commit
  19. 05 Apr, 2011 1 commit
    • Ben Hutchings's avatar
      ethtool: Change ETHTOOL_PHYS_ID implementation to allow dropping RTNL · 68f512f2
      Ben Hutchings authored
      
      
      The ethtool ETHTOOL_PHYS_ID command runs for an arbitrarily long
      period of time, holding the RTNL lock.  This blocks routing updates,
      device enumeration, and various important operations that one might
      want to keep running while hunting for the flashing LED.
      
      We need to drop the RTNL lock during this operation, but currently the
      core implementation is a thin wrapper around a driver operation and
      drivers may well depend upon holding the lock.
      
      Define a new driver operation 'set_phys_id' with an argument that sets
      the ID indicator on/off/inactive/active (the last optional, for any
      driver or firmware that prefers to handle blinking asynchronously).
      When this is defined, the ethtool core drops the lock while waiting
      and only acquires it around calls to this operation.
      
      Deprecate the 'phys_id' operation in favour of this.  It can be
      removed once all in-tree drivers are converted.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      68f512f2
  20. 04 Apr, 2011 1 commit
    • Tom Herbert's avatar
      net: Allow no-cache copy from user on transmit · c6e1a0d1
      Tom Herbert authored
      
      
      This patch uses __copy_from_user_nocache on transmit to bypass data
      cache for a performance improvement.  skb_add_data_nocache and
      skb_copy_to_page_nocache can be called by sendmsg functions to use
      this feature, initial support is in tcp_sendmsg.  This functionality is
      configurable per device using ethtool.
      
      Presumably, this feature would only be useful when the driver does
      not touch the data.  The feature is turned on by default if a device
      indicates that it does some form of checksum offload; it is off by
      default for devices that do no checksum offload or indicate no checksum
      is necessary.  For the former case copy-checksum is probably done
      anyway, in the latter case the device is likely loopback in which case
      the no cache copy is probably not beneficial.
      
      This patch was tested using 200 instances of netperf TCP_RR with
      1400 byte request and one byte reply.  Platform is 16 core AMD x86.
      
      No-cache copy disabled:
         672703 tps, 97.13% utilization
         50/90/99% latency:244.31 484.205 1028.41
      
      No-cache copy enabled:
         702113 tps, 96.16% utilization,
         50/90/99% latency 238.56 467.56 956.955
      
      Using 14000 byte request and response sizes demonstrate the
      effects more dramatically:
      
      No-cache copy disabled:
         79571 tps, 34.34 %utlization
         50/90/95% latency 1584.46 2319.59 5001.76
      
      No-cache copy enabled:
         83856 tps, 34.81% utilization
         50/90/95% latency 2508.42 2622.62 2735.88
      
      Note especially the effect on latency tail (95th percentile).
      
      This seems to provide a nice performance improvement and is
      consistent in the tests I ran.  Presumably, this would provide
      the greatest benfits in the presence of an application workload
      stressing the cache and a lot of transmit data happening.
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c6e1a0d1
  21. 02 Apr, 2011 1 commit
  22. 28 Mar, 2011 1 commit
    • Stanislaw Gruszka's avatar
      net: fix ethtool->set_flags not intended -EINVAL return value · 673e63c6
      Stanislaw Gruszka authored
      After commit d5dbda23
      
       "ethtool: Add
      support for vlan accleration.", drivers that have NETIF_F_HW_VLAN_TX,
      and/or NETIF_F_HW_VLAN_RX feature, but do not allow enable/disable vlan
      acceleration via ethtool set_flags, always return -EINVAL from that
      function. Fix by returning -EINVAL only if requested features do not
      match current settings and can not be changed by driver.
      
      Change any driver that define ethtool->set_flags to use
      ethtool_invalid_flags() to avoid similar problems in the future
      (also on drivers that do not have the problem).
      
      Tested with modified (to reproduce this bug) myri10ge driver.
      
      Cc: stable@kernel.org # 2.6.37+
      Signed-off-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      673e63c6
  23. 22 Mar, 2011 1 commit
  24. 18 Mar, 2011 1 commit
  25. 23 Feb, 2011 2 commits
  26. 17 Feb, 2011 5 commits