1. 21 Aug, 2019 9 commits
    • Ido Schimmel's avatar
      selftests: mlxsw: Add a test case for devlink-trap · 1455865a
      Ido Schimmel authored
      Test generic devlink-trap functionality over mlxsw. These tests are not
      specific to a single trap, but do not check the devlink-trap common
      infrastructure either.
      
      Currently, the only test case is device deletion (by reloading the
      driver) while packets are being trapped.
      Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1455865a
    • Ido Schimmel's avatar
      selftests: mlxsw: Add test cases for devlink-trap L2 drops · 17027032
      Ido Schimmel authored
      Test that each supported packet trap is triggered under the right
      conditions and that packets are indeed dropped and not forwarded.
      Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      17027032
    • Ido Schimmel's avatar
      mlxsw: spectrum: Add devlink-trap support · b5ce611f
      Ido Schimmel authored
      Register supported packet traps (layer 2 drops only, currently) and
      associated trap group with devlink during driver initialization.
      
      The amount of traffic generated by these packet drop traps is capped at
      10Kpps to ensure the CPU is not overwhelmed by incoming packets.
      Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
      Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b5ce611f
    • Ido Schimmel's avatar
      mlxsw: Add trap group for layer 2 discards · 9e6290c7
      Ido Schimmel authored
      Discard trap groups are defined in a different enum so that they could
      all share the same policer ID: MLXSW_REG_HTGT_TRAP_GROUP_MAX + 1.
      Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
      Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9e6290c7
    • Ido Schimmel's avatar
      mlxsw: Add layer 2 discard trap IDs · a812cedb
      Ido Schimmel authored
      Add the trap IDs used to report layer 2 drops.
      Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
      Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a812cedb
    • Ido Schimmel's avatar
      mlxsw: reg: Add new trap actions · 6a44bae3
      Ido Schimmel authored
      Subsequent patches will add discard traps support in mlxsw. The driver
      cannot configure such traps with a normal trap action, but needs to use
      exception trap action, which also increments an error counter.
      
      On the other hand, when these traps are initialized or set to drop
      action, they should use the default drop action set by the firmware.
      This guarantees that when the feature is disabled we get the exact same
      behavior as before the feature was introduced.
      Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
      Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6a44bae3
    • Ido Schimmel's avatar
      mlxsw: core: Add API to set trap action · b7bf0270
      Ido Schimmel authored
      Up until now the action of a trap was never changed during its lifetime.
      This is going to change by subsequent patches that will allow devlink to
      control the action of certain traps.
      Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
      Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b7bf0270
    • David S. Miller's avatar
      Merge tag 'mlx5-updates-2019-08-15' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · 8c40f3b2
      David S. Miller authored
      Saeed Mahameed says:
      
      ====================
      mlx5-updates-2019-08-15
      
      This patchset introduces changes in mlx5 devlink health reporters.
      The highlight of these changes is adding a new reporter: RX reporter
      
      mlx5 RX reporter: reports and recovers from timeouts and RX completion
      error.
      
      1) Perform TX reporter cleanup. In order to maintain the
      code flow as similar as possible between RX and TX reporters, start the
      set with cleanup.
      
      2) Prepare for code sharing, generalize and move shared
      functionality.
      
      3) Refactor and extend TX reporter diagnostics information
      to align the TX reporter diagnostics output with the RX reporter's
      diagnostics output.
      
      4) Add helper functions Patch 11: Add RX reporter, initially
      supports only the diagnostics call back.
      
      5) Change ICOSQ (Internal Operations Send Queue) open/close flow to
      avoid race between interface down and completion error recovery.
      
      6) Introduce recovery flows for RX ring population timeout on ICOSQ,
      and for completion errors on ICOSQ and on RQ (Regular receive queues).
      
      7) Include RX reporters in mlx5 documentation.
      
      8) Last two patches of this series, are trivial fixes for previously
      submitted patches on this release cycle.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8c40f3b2
    • David S. Miller's avatar
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · ac2eb56e
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      100GbE Intel Wired LAN Driver Updates 2019-08-20
      
      This series contains updates to ice driver only.
      
      Brett fixes the detection of a hung transmit ring by checking the
      software based tail (next_to_use) to determine if there is pending work.
      Updates the driver to assume that using more than one receive queue per
      receive ring container is a rare case, so use unlikely() in the case
      were we actually need to divide our budget for multiple queues.  Fixed
      an issue where the write back on ITR bit was not being set when
      interrupts are disabled, which was causing only write backs when polling
      only when a cache line is filled.  Cleans up unnecessary wait times
      during VF bring up and reset paths.  Increased the mailbox size for
      receive queues that are used to communicate with VFs to accommodate the
      large number of VFs that the driver can support.
      
      Akeem restructures the initialization flows for VFs, including how VFs
      are configured and resources allocated to improve flows so that when we
      clean up resources, we do not try to free resources that were never
      allocated.  Organizes code to ensure that VF specific code is located in
      the SR-IOV specific file.
      
      Paul fixes an issue when setting the pause parameter which was
      incorrectly blocking users from changing receive or transmit pause
      settings.  Ensure register access for MSIX vector index is only done in
      the PF space and not absolute device space.
      
      Usha fixes a potential kernel hang in the DCB rebuild path when in CEE
      mode, where the ETS recommended DCB configuration is not being set or
      set correctly.
      
      Mitch updates the driver to process all receive descriptors, regardless
      of the size of the associated data.
      
      Tony fixes and issue during the reset/rebuild path of a PF VSI where we
      were assuming that the PF VSI was always to be enabled, which can
      attempt to bring up a PF VSI on a downed interface which can lead to
      various crashes.
      
      Pawel fixes up variable definitions to match the type of data being
      stored.
      
      v2: Dropped patch 1 of the series to add ethtool support to query/add
          channels on a VSI, while we re-qork the functionality to match the
          ethtool expected behavior to report combined (Tx and Rx) numbers.
      v3: Updated patch 4 to use kzalloc() and kfree() instead devm_kzalloc()
          and devm_kfree().
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ac2eb56e
  2. 20 Aug, 2019 31 commits