mirror_ubuntu-kernels/include/linux/mlx5
Vlad Buslov ec3be8873d net/mlx5: Create TC-miss priority and table
In order to adhere to kernel software datapath model bridge offloads must
come after TC and NF FDBs. Following patches in this series add new FDB
priority for bridge after FDB_FT_OFFLOAD. However, since netfilter offload
is implemented with unmanaged tables, its miss path is not automatically
connected to next priority and requires the code to manually connect with
slow table. To keep bridge offloads encapsulated and not mix it with
eswitch offloads, create a new FDB_TC_MISS priority between FDB_FT_OFFLOAD
and FDB_SLOW_PATH:

          +
          |
+---------v----------+
|                    |
|   FDB_TC_OFFLOAD   |
|                    |
+---------+----------+
          |
          |
          |
+---------v----------+
|                    |
|   FDB_FT_OFFLOAD   |
|                    |
+---------+----------+
          |
          |
          |
+---------v----------+
|                    |
|    FDB_TC_MISS     |
|                    |
+---------+----------+
          |
          |
          |
+---------v----------+
|                    |
|   FDB_SLOW_PATH    |
|                    |
+---------+----------+
          |
          v

Initialize the new priority with single default empty managed table and use
the table as TC/NF miss patch instead of slow table. This approach allows
bridge offloads to be created as new FDB namespace priority between
FDB_TC_MISS and FDB_SLOW_PATH without exposing its internal tables to any
other modules since miss path of managed TC-miss table is automatically
wired to next priority.

Signed-off-by: Vlad Buslov <vladbu@nvidia.com>
Reviewed-by: Jianbo Liu <jianbol@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2021-06-09 18:36:08 -07:00
..
accel.h net/mlx5: Accel, Add core IPsec support for the Connect-X family 2020-07-16 16:36:42 -07:00
cq.h net/mlx5: Avoid RDMA file inclusion in core driver 2020-06-27 13:50:46 -07:00
device.h net/mlx5: mlx5_ifc support for header insert/remove 2021-06-09 18:36:06 -07:00
doorbell.h
driver.h mlx5-updates-2021-05-26 2021-05-27 17:14:23 -07:00
eq.h net/mlx5: Use event mask based on device capabilities 2019-07-03 20:55:45 +03:00
eswitch.h net/mlx5e: TC: Reserved bit 31 of REG_C1 for IPsec offload 2021-05-27 11:54:36 -07:00
fs_helpers.h
fs.h net/mlx5: Create TC-miss priority and table 2021-06-09 18:36:08 -07:00
mlx5_ifc_fpga.h net/mlx5: fix spelling mistake "reserverd" -> "reserved" 2020-02-18 15:44:07 +02:00
mlx5_ifc_vdpa.h vdpa/mlx5: Make hardware definitions visible to all mlx5 devices 2020-12-04 14:46:56 +02:00
mlx5_ifc.h net/mlx5: mlx5_ifc support for header insert/remove 2021-06-09 18:36:06 -07:00
mpfs.h {net,vdpa}/mlx5: Configure interface MAC into mpfs L2 table 2021-05-18 23:01:48 -07:00
port.h net/mlx5: Add support for DSFP module EEPROM dumps 2021-04-11 16:34:56 -07:00
qp.h net/mlx5: Set QP timestamp mode to default 2021-03-10 11:01:56 -08:00
rsc_dump.h net/mlx5: Add support in query QP, CQ and MKEY segments 2020-06-23 17:26:10 +03:00
transobj.h net/mlx5: Update transobj.c new cmd interface 2020-04-23 21:42:16 +03:00
vport.h net/mlx5: E-Switch, Prepare to return total vports from eswitch struct 2021-04-24 00:58:43 -07:00