From: Cong Wang <xiyou.wangc...@gmail.com> Date: Thu, 30 Apr 2020 20:53:49 -0700
> When we tell kernel to dump filters from root (ffff:ffff), > those filters on ingress (ffff:0000) are matched, but their > true parents must be dumped as they are. However, kernel > dumps just whatever we tell it, that is either ffff:ffff > or ffff:0000: > > $ nl-cls-list --dev=dummy0 --parent=root > cls basic dev dummy0 id none parent root prio 49152 protocol ip match-all > cls basic dev dummy0 id :1 parent root prio 49152 protocol ip match-all > $ nl-cls-list --dev=dummy0 --parent=ffff: > cls basic dev dummy0 id none parent ffff: prio 49152 protocol ip match-all > cls basic dev dummy0 id :1 parent ffff: prio 49152 protocol ip match-all > > This is confusing and misleading, more importantly this is > a regression since 4.15, so the old behavior must be restored. > > And, when tc filters are installed on a tc class, the parent > should be the classid, rather than the qdisc handle. Commit > edf6711c9840 ("net: sched: remove classid and q fields from tcf_proto") > removed the classid we save for filters, we can just restore > this classid in tcf_block. > > Steps to reproduce this: ... > Fixes: a10fa20101ae ("net: sched: propagate q and parent from caller down to > tcf_fill_node") > Fixes: edf6711c9840 ("net: sched: remove classid and q fields from tcf_proto") > Signed-off-by: Cong Wang <xiyou.wangc...@gmail.com> Applied, thanks.