[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20200504.115354.1185304352631980931.davem@davemloft.net>
Date: Mon, 04 May 2020 11:53:54 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: xiyou.wangcong@...il.com
Cc: netdev@...r.kernel.org, jhs@...atatu.com, jiri@...nulli.us
Subject: Re: [Patch net v2] net_sched: fix tcm_parent in tc filter dump
From: Cong Wang <xiyou.wangcong@...il.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.wangcong@...il.com>
Applied, thanks.
Powered by blists - more mailing lists