Message ID | 20200117000619.696775-1-saeedm@mellanox.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
From: Saeed Mahameed <saeedm@mellanox.com> Date: Fri, 17 Jan 2020 00:06:50 +0000 > 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. Pulled, thanks Saeed.