1. 19 Apr, 2017 5 commits
    • Scott Peterson's avatar
      i40e/i40evf: Add tracepoints · ed0980c4
      Scott Peterson authored
      This patch adds tracepoints to the i40e and i40evf drivers to which
      BPF programs can be attached for feature testing and verification.
      It's expected that an attached BPF program will identify and count or
      log some interesting subset of traffic. The bcc-tools package is
      helpful there for containing all the BPF arcana in a handy Python
      wrapper. Though you can make these tracepoints log trace messages, the
      messages themselves probably won't be very useful (other to verify the
      tracepoint is being called while you're debugging your BPF program).
      
      The idea here is that tracepoints have such low performance cost when
      disabled that we can leave these in the upstream drivers. This may
      eventually enable the instrumentation of unmodified customer systems
      should the need arise to verify a NIC feature is working as expected.
      In general this enables one set of feature verification tools to be
      used on these drivers whether they're built with the kernel or
      separately.
      
      Users are advised against using these tracepoints for anything other
      than a diagnostic tool. They have a performance impact when enabled,
      and their exact placement and form may change as we see how well they
      work in practice for the purposes above.
      
      Change-ID: Id6014a7322c0e6d08068114dd20bd156f2f6435e
      Signed-off-by: default avatarScott Peterson <scott.d.peterson@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      ed0980c4
    • Mitch Williams's avatar
      i40e: dump VF information in debugfs · 3118025a
      Mitch Williams authored
      Dump some internal state about VFs through debugfs. This provides
      information not available with 'ip link show'. To use, write "dump vf
      <id>" to the command file, or just "dump vf" to dump information on all
      of the VFs.
      
      Change-ID: Ibe32b7f4ae55d4358c0b903217475f708ada1ecd
      Signed-off-by: default avatarMitch Williams <mitch.a.williams@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      3118025a
    • Alexander Duyck's avatar
      i40e: Fix support for flow director programming status · 0e626ff7
      Alexander Duyck authored
      This patch fixes an issue I introduced when I converted the code over to
      using the length field to determine if a descriptor was done or not. It
      turns out that we are also processing programming descriptors in the Rx
      path and need to have these processed even though the length field will be
      0 on these packets.  What will happen with a programming descriptor is that
      we will receive a descriptor that has the SPH bit set, and the header
      length and packet length fields cleared.
      
      To account for this we should be checking for the bit for split header
      being set even though we aren't actually using header split. This bit is
      set in the length field to indicate if a programming descriptor response is
      contained in the descriptor. Since we don't support header split we don't
      need to perform the extra checks of using a fixed value for the entire
      length field.
      
      In addition I am moving the function for checking if a filter is a
      programming status filter into the i40e_txrx.c file since there is no
      longer support for FCoE it doesn't make sense to keep this file in i40e.h.
      
      Change-ID: I12c359c3dc70adb9d6b92b27324bb2c7f04c1a06
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      0e626ff7
    • alice michael's avatar
      i40e/i40evf: Remove VF Rx csum offload for tunneled packets · 53240e99
      alice michael authored
      Rx checksum offload for tunneled packets was never being negotiated or
      requested by VF. This capability was assumed by default and enabled in
      current hardware for VF. Going forward, this feature needs to be disabled
      or advanced ptypes should be negotiated with PF in the future.
      
      Change-ID: I9e54cfa8a90e03ab6956db4412f1e337ccd2c2e0
      Signed-off-by: default avatarPreethi Banala <preethi.banala@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      53240e99
    • Tobias Klauser's avatar
      i40evf: Use net_device_stats from struct net_device · 4a0a3abf
      Tobias Klauser authored
      Instead of using a private copy of struct net_device_stats in
      struct i40evf_adapter, use stats from struct net_device. Also remove the
      now unnecessary .ndo_get_stats function.
      Signed-off-by: default avatarTobias Klauser <tklauser@distanz.ch>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      4a0a3abf
  2. 18 Apr, 2017 35 commits