Tue, Jun 26, 2018 at 06:58:50AM CEST, jakub.kicin...@netronome.com wrote: >On Mon, 25 Jun 2018 23:01:39 +0200, Jiri Pirko wrote: >> From: Jiri Pirko <j...@mellanox.com> >> >> For the TC clsact offload these days, some of HW drivers need >> to hold a magic ball. The reason is, with the first inserted rule inside >> HW they need to guess what fields will be used for the matching. If >> later on this guess proves to be wrong and user adds a filter with a >> different field to match, there's a problem. Mlxsw resolves it now with >> couple of patterns. Those try to cover as many match fields as possible. >> This aproach is far from optimal, both performance-wise and scale-wise. >> Also, there is a combination of filters that in certain order won't >> succeed. >> >> Most of the time, when user inserts filters in chain, he knows right away >> how the filters are going to look like - what type and option will they >> have. For example, he knows that he will only insert filters of type >> flower matching destination IP address. He can specify a template that >> would cover all the filters in the chain. > >Perhaps it's lack of sleep, but this paragraph threw me a little off >the track. IIUC the goal of this set is to provide a way to inform the >HW about expected matches before any rule is programmed into the HW. >Not before any rule is added to a particular chain. One can just use >the first rule in the chain to make a guess about the chain, but thanks >to this set user can configure *all* chains before any rules are added.
The template is per-chain. User can use template for chain x and not-use it for chain y. Up to him. > >And that's needed because once any rule is added the tcam config can no >longer be easily modified? Yes.