Messages in this thread | | | From | Volodymyr Mytnyk <> | Subject | Re: [PATCH net-next] net: prestera: flower template support | Date | Thu, 9 Dec 2021 10:46:02 +0000 |
| |
Hi Jamal,
> > > Hi Jamal, > > > >> > >>> From: Volodymyr Mytnyk<vmytnyk@marvell.com> > >>> > >>> Add user template explicit support. At this moment, max TCAM rule size > >>> is utilized for all rules, doesn't matter which and how much flower > >>> matches are provided by user. It means that some of TCAM space is > >>> wasted, which impacts the number of filters that can be offloaded. > >>> > >>> Introducing the template, allows to have more HW offloaded filters. > >>> > >>> Example: > >>> tc qd add dev PORT clsact > >>> tc chain add dev PORT ingress protocol ip \ > >>> flower dst_ip 0.0.0.0/16 > >> > >> "chain" or "filter"? > > > > tc chain add ... flower [tempalte] is the command to add explicitly chain with a given template > > > > I guess you are enforcing the template on chain 0. My brain > was expecting chain id to be called out. >
chain 0 is the default chain id for "tc chain" & "tc filter" command, so, that's why I did not mention it in the command line. Please note, this patch adds only template support. Chains are not supported yet, and will be added later.
> > > tc filter ... is the command to add a filter itself in that chain > > > > Got it. > > > >> You are not using tc priority? Above will result in two priorities (the 0.0.0.0 entry will be more important) and in classical flower approach two different tables. > >> I am wondering how you map the table to the TCAM. > >> Is the priority sorting entirely based on masks in hardware? > > > > Kernel tc filter priority is used as a priority for HW rule (see flower implementation). > > The TCAM however should be able to accept many masks - is the idea > here to enforce some mask per chain and then have priority being the > priorities handle conflict? What happens when you explicitly specify > priority. If you dont specify it the kernel provides it and essentially > resolution is based on the order in which the rules are entered..
The HW rule insert/delete into TCAM is done by the FW itself. It means, that the FW will take care about prio and (re)order the rule based on the priority provided by user/kernel. So, kernel driver just need to provide prio to the FW when adding the rule into the HW.
> > cheers, > jamal
Thanks and Regards, Volodymyr
| |