From: Jamal Hadi Salim <jhs@mojatatu•com>
To: Cong Wang <xiyou.wangcong@gmail•com>
Cc: Linux Kernel Network Developers <netdev@vger•kernel.org>,
"David S. Miller" <davem@davemloft•net>
Subject: Re: [PATCH net-next v4 3/8] net_sched: mirred: remove action when the target device is gone
Date: Sun, 22 Dec 2013 15:31:54 -0500 [thread overview]
Message-ID: <52B74C3A.1050900@mojatatu.com> (raw)
In-Reply-To: <CAM_iQpW9kUzip+p8fCkD4wH7KbAv8aR-Fqa0iRwPYdzk8+4Tqw@mail.gmail.com>
On 12/22/13 14:42, Cong Wang wrote:
> On Sun, Dec 22, 2013 at 8:15 AM, Jamal Hadi Salim <jhs@mojatatu•com> wrote:
> You know qdiscs and filters are removed too when the device
> is gone, right? So isn't that also a policy you are talking about?
>
That is an easy optimization that made sense to make - we
deleted the root of a graph. No need to spam the policy manager.
What we are talking about is deleting a faulty node shared
by multiple graphs and deleting the vertex but then leaving
dangling edges around. Doesnt make sense.
No action that is shared between two flows or devices is EVER
going to be removed because you deleted a qdisc or a netdev.
> This doesn't make any sense to me, if it did, you should remove
> all net device notifications in kernel, right?
>
Refer to above.
> Have you ever thought about how hard it is to remove a mirred action
> upon the device removal? Even with libnl, we still have to:
>
> 1) monitor the device removal notification
> 2) search the action cache to get the action matches the target device
> 3) search for the filters that contains such actions
> 4) remove the action by changing the filters it is attached
>
> Try it and see how much more work you will do, compare it with
> this kernel patch. It would not be hard to conclude which is easier.
>
It is not about ease - it is about correctness.
You are making a macroscopic decision with a microscopic view. This is
why we have control planes. It is like the legs making decisions on
behalf of the brain.
cheers,
jamal
next prev parent reply other threads:[~2013-12-22 20:32 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-16 4:15 [PATCH net-next v4 0/8] net_sched: some cleanup and improvments Cong Wang
2013-12-16 4:15 ` [PATCH net-next v4 1/8] net_sched: remove get_stats from tc_action_ops Cong Wang
2013-12-18 14:14 ` Jamal Hadi Salim
2013-12-16 4:15 ` [PATCH net-next v4 2/8] net_sched: act: use standard struct list_head Cong Wang
2013-12-18 14:22 ` Jamal Hadi Salim
2013-12-16 4:15 ` [PATCH net-next v4 3/8] net_sched: mirred: remove action when the target device is gone Cong Wang
2013-12-18 14:31 ` Jamal Hadi Salim
2013-12-18 18:36 ` Cong Wang
2013-12-18 18:50 ` David Miller
2013-12-18 19:50 ` Jamal Hadi Salim
2013-12-18 21:42 ` Cong Wang
2013-12-22 16:15 ` Jamal Hadi Salim
2013-12-22 19:42 ` Cong Wang
2013-12-22 20:31 ` Jamal Hadi Salim [this message]
2013-12-22 21:11 ` Cong Wang
2013-12-23 12:41 ` Jamal Hadi Salim
2013-12-23 18:50 ` Cong Wang
2013-12-23 20:41 ` Jamal Hadi Salim
2013-12-23 22:14 ` Cong Wang
2013-12-23 22:30 ` Jamal Hadi Salim
2013-12-23 22:51 ` Cong Wang
2013-12-23 23:05 ` Jamal Hadi Salim
2013-12-23 23:14 ` Cong Wang
2013-12-16 4:15 ` [PATCH net-next v4 4/8] net_sched: cls: refactor out struct tcf_ext_map Cong Wang
2013-12-18 14:36 ` Jamal Hadi Salim
2013-12-16 4:15 ` [PATCH net-next v4 5/8] net_sched: init struct tcf_hashinfo at register time Cong Wang
2013-12-18 14:37 ` Jamal Hadi Salim
2013-12-16 4:15 ` [PATCH net-next v4 6/8] net_sched: convert tcf_hashinfo to hlist and use spinlock Cong Wang
2013-12-18 14:38 ` Jamal Hadi Salim
2013-12-16 4:15 ` [PATCH net-next v4 7/8] net_sched: convert tc_action_ops to use struct list_head Cong Wang
2013-12-18 14:40 ` Jamal Hadi Salim
2013-12-16 4:15 ` [PATCH net-next v4 8/8] net_sched: convert tcf_proto_ops " Cong Wang
2013-12-18 14:41 ` Jamal Hadi Salim
2013-12-16 12:45 ` [PATCH net-next v4 0/8] net_sched: some cleanup and improvments Jamal Hadi Salim
2013-12-17 21:30 ` David Miller
2013-12-18 13:21 ` Jamal Hadi Salim
2013-12-18 14:13 ` Jamal Hadi Salim
2013-12-18 18:51 ` David Miller
2013-12-18 21:40 ` Cong Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52B74C3A.1050900@mojatatu.com \
--to=jhs@mojatatu$(echo .)com \
--cc=davem@davemloft$(echo .)net \
--cc=netdev@vger$(echo .)kernel.org \
--cc=xiyou.wangcong@gmail$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox