On Sun, Jul 29, 2018 at 12:54 AM Jiri Pirko <j...@resnulli.us> wrote: > > Sat, Jul 28, 2018 at 07:39:36PM CEST, xiyou.wangc...@gmail.com wrote: > >On Sat, Jul 28, 2018 at 10:20 AM Cong Wang <xiyou.wangc...@gmail.com> wrote: > >> > >> On Fri, Jul 27, 2018 at 12:47 AM Jiri Pirko <j...@resnulli.us> wrote: > >> > > >> > From: Jiri Pirko <j...@mellanox.com> > >> > > >> > In case a chain is empty and not explicitly created by a user, > >> > such chain should not exist. The only exception is if there is > >> > an action "goto chain" pointing to it. In that case, don't show the > >> > chain in the dump. Track the chain references held by actions and > >> > use them to find out if a chain should or should not be shown > >> > in chain dump. > >> > > >> > Signed-off-by: Jiri Pirko <j...@mellanox.com> > >> > >> Looks reasonable to me. > >> > >> Acked-by: Cong Wang <xiyou.wangc...@gmail.com> > > > >Hold on... > > > >If you increase the refcnt for a zombie chain on NEWCHAIN path, > >then it would become a non-zombie, this makes sense. However, > >if the action_refcnt gets increased again when another action uses it, > >it become a zombie again because refcnt==action_refcnt?? > > No. action always increases both refcnt and action_refcnt
Hmm, then the name zombie is confusing, with your definition all chains implicitly created by actions are zombies, unless touched by user explicitly. Please find a better name. Also, tcf_chain_get_by_act() could send out RTM_NEWCHAIN too, which is confusing too as it is still a "zombie".