lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 17 Oct 2018 17:08:45 -0700
From:   Saeed Mahameed <saeedm@...lanox.com>
To:     "David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org
Cc:     Saeed Mahameed <saeedm@...lanox.com>
Subject: [pull request][net-next 00/14] Mellanox, mlx5 updates 

Hi Dave,

This series from Paul, Or and Mark provides the support for 
e-switch tc offloading of multiple priorities and chains, the series
is based on a merge commit with mlx5-next branch for patches that are
already submitted and reviewed through the netdev and rdma mailing
lists.

For more information please see tag log below.

Please pull and let me know if there is any problem.

Thanks,
saeed.

---

The following changes since commit 186daf0c20507072e72a3c74db4ac50a5b6dae07:

  Merge branch 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux into net-next (2018-10-17 14:13:36 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2018-10-17

for you to fetch changes up to bf07aa730a04a375bc10d09df1e81357af1d4477:

  net/mlx5e: Support offloading tc priorities and chains for eswitch flows (2018-10-17 14:20:49 -0700)

----------------------------------------------------------------
mlx5-updates-2018-10-17

========================================================================

>From Or Gerlitz <ogerlitz@...lanox.com>:

This series from Paul adds support to mlx5 e-switch tc offloading of multiple priorities and chains.

This is made of four building blocks (along with few minor driver refactors):

[1] Split FDB fast path prio to multiple namespaces

Currently the FDB name-space contains two priorities, fast path (p0) and slow path (p1).
The slow path contains the per representor SQ send-to-vport TX rule and the match-all
RX miss rule. As a pre-step to support multi-chains and priorities, we split the FDB fast path
to multiple namespaces  (sub namespaces), each with multiple priorities.

[2] E-Switch chains and priorities

A chain is a group of priorities. We use the fdb parallel sub-namespaces to implement chains,
and a flow table for each priority in them.

Because these namespaces are parallel and in series to the slow path
fdb, the chains aren't connected to each other (but to the slow path),
and one must use a explicit goto action to reach a different chain.

Flow tables for the priorities are created on demand and destroyed
once not used.

[3] Add a no-append flow insertion mode, use it for TC offloads

Enhance the driver fs core, such that if a no-append flag is set by the caller,
we add a new FTE, instead of appending the actions of the inserted rule when
the same match already exists.

For encap rules, we defer the HW offloading till we have a valid neighbor. This can
result in the packet hitting a lower priority rule in the HW DP. Use the no-append API
to push these packets to the slow path FDB table, so they go to the TC kernel DP as done
before priorities where supported.

[4] Offloading tc priorities and chains for eswitch flows

Using [1], [2] and [3] above we add the support for offloading both chains
and priorities. To get to a new chain, use the tc goto action. We support
a fixed prio range 1-16, and chains 0-3.
=============================================================================

----------------------------------------------------------------
Mark Bloch (2):
      net/mlx5: E-Switch, Get counters for offloaded flows from callers
      net/mlx5: Use flow counter IDs and not the wrapping cache object

Or Gerlitz (2):
      net/mlx5: E-Switch, Have explicit API to delete fwd rules
      net/mlx5e: Avoid duplicated code for tc offloads add/del fdb rule

Paul Blakey (8):
      net/mlx5: Add cap bits for multi fdb encap
      net/mlx5: Split FDB fast path prio to multiple namespaces
      net/mlx5: E-Switch, Add chains and priorities
      net/mlx5: Add a no-append flow insertion mode
      net/mlx5e: For TC offloads, always add new flow instead of appending the actions
      net/mlx5: E-Switch, Enable setting goto slow path chain action
      net/mlx5e: Use a slow path rule instead if vxlan neighbour isn't available
      net/mlx5e: Support offloading tc priorities and chains for eswitch flows

Rabie Loulou (1):
      net/mlx5e: Change return type of tc add flow functions

Roi Dayan (1):
      net/mlx5e: Split TC add rule path for nic vs e-switch

 drivers/infiniband/hw/mlx5/main.c                  |  13 +-
 .../mellanox/mlx5/core/diag/fs_tracepoint.h        |   6 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |   3 -
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |   6 -
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    | 490 +++++++++++++++------
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |   6 +-
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |  46 +-
 .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 410 +++++++++++++----
 .../net/ethernet/mellanox/mlx5/core/fpga/ipsec.c   |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  | 122 +++--
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.h  |  13 +
 .../net/ethernet/mellanox/mlx5/core/fs_counters.c  |   6 +
 include/linux/mlx5/fs.h                            |  20 +-
 include/linux/mlx5/mlx5_ifc.h                      |   4 +-
 15 files changed, 860 insertions(+), 289 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ