Hi Vladimir, On Tus, 2 Jun 2020 at 16:04, > First of all, net-next has just closed yesterday and will be closed for the > following 2 weeks: > https://eur01.safelinks.protection.outlook.com/?url=http:%2F%2Fvger.kernel.org%2F~davem%2Fnet-next.html&data=02%7C01% > > 7Cxiaoliang.yang_1%40nxp.com%7C2fad4495dabc4f4ca5fd08d806cb70af%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637266818117666386&sdata=ziVybWb4HzYXanehF5KwNv5RJL%2BZz6NeFvrZWg657B8%3D&reserved=0 > > Secondly, could you give an example of how different chains could express the > fact that rules are executed in parallel between the IS1, > IS2 and ES0 TCAMs? >
Different TCAMs are not running in parallel, they have flow order: IS1->IS2->ES0. Using goto chain to express the flow order. For example: tc qdisc add dev swp0 ingress tc filter add dev swp0 chain 0 protocol 802.1Q parent ffff: flower skip_sw vlan_id 1 vlan_prio 1 action vlan modify id 2 priority 2 action goto chain 1 tc filter add dev swp0 chain 1 protocol 802.1Q parent ffff: flower skip_sw vlan_id 2 vlan_prio 2 action drop In this example, package with (vid=1,pcp=1) vlan tag will be modified to (vid=2,pcp=2) vlan tag on IS1, then will be dropped on IS2. If there is no rule match on IS1, it will still lookup on IS2. We can set a rule on chain 0 to express this: tc filter add dev swp0 chain 0 parent ffff: flower skip_sw action goto chain 1 In addition, VSC9959 chip has PSFP and "Sequence Generation recovery" modules are running after IS2, the flow order like this: IS1->IS2->PSFP-> "Sequence Generation recovery" ->ES0, we can also add chains like this to express these two modules in future. BTW, where should I sent patches to due to net-next closed? Thanks, Xiaoliang Yang