]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'for-net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed...
authorDavid S. Miller <davem@davemloft.net>
Sun, 19 Jan 2020 15:17:07 +0000 (16:17 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 19 Jan 2020 15:17:07 +0000 (16:17 +0100)
commitbe515fbd4625daf5c9e5c620971a900f3ac23ddf
treec553dbfc10a7f28890415cafdd2a03197b7a7224
parentbfe2a1ee45bb5a9ee674fd8ff1c80345fdb96989
parentda0839c5831227ead7f0480cbd3c33a20bb332b7
Merge branch 'for-net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux

Saeed Mahameed says:

====================
Mellanox, mlx5 E-Switch chains and prios

This series has two parts,

1) A merge commit with mlx5-next branch that include updates for mlx5
HW layouts needed for this and upcoming submissions.

2) From Paul, Increase the number of chains and prios

Currently the Mellanox driver supports offloading tc rules that
are defined on the first 4 chains and the first 16 priorities.
The restriction stems from the firmware flow level enforcement
requiring a flow table of a certain level to point to a flow
table of a higher level. This limitation may be ignored by setting
the ignore_flow_level bit when creating flow table entries.
Use unmanaged tables and ignore flow level to create more tables than
declared by fs_core steering. Manually manage the connections between the
tables themselves.

HW table is instantiated for every tc <chain,prio> tuple. The miss rule
of every table either jumps to the next <chain,prio> table, or continues
to slow_fdb. This logic is realized by following this sequence:

1. Create an auto-grouped flow table for the specified priority with
    reserved entries

Reserved entries are allocated at the end of the flow table.
Flow groups are evaluated in sequence and therefore it is guaranteed
that the flow group defined on the last FTEs will be the last to evaluate.

Define a "match all" flow group on the reserved entries, providing
the platform to add table miss actions.

2. Set the miss rule action to jump to the next <chain,prio> table
    or the slow_fdb.

3. Link the previous priority table to point to the new table by
    updating its miss rule.

Please pull and let me know if there's any problem.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>