Hi Jakub, On Fri, Aug 02, 2019 at 01:47:38PM -0700, Jakub Kicinski wrote: > On Fri, 2 Aug 2019 13:00:23 +0200, Pablo Neira Ayuso wrote: > > Hi Jakub, > > > > If the user specifies 'pref' in the new rule, then tc checks if there > > is a tcf_proto object that matches this priority. If the tcf_proto > > object does not exist, tc creates a tcf_proto object and it adds the > > new rule to this tcf_proto. > > > > In cls_flower, each tcf_proto only stores one single rule, so if the > > user tries to add another rule with the same 'pref', cls_flower > > returns EEXIST. > > So you're saying this doesn't work? > > ip link add type dummy > tc qdisc add dev dummy0 clsact > tc filter add dev dummy0 ingress protocol ipv6 prio 123 flower src_ip 1111::1 action drop > tc filter add dev dummy0 ingress protocol ipv6 prio 123 flower src_ip 1111::2 action drop This works indeed as you describe. I'll go back to the original netfilter basechain priority patch then: https://patchwork.ozlabs.org/patch/1140412/ That patch removed the reference to tcf_auto_prio() already, please let me know if you have any more specific update you would like to see on that patch. Thanks.