[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5357A453.6030901@mojatatu.com>
Date: Wed, 23 Apr 2014 07:30:27 -0400
From: Jamal Hadi Salim <jhs@...atatu.com>
To: Cong Wang <xiyou.wangcong@...il.com>
CC: Linux Kernel Network Developers <netdev@...r.kernel.org>,
"David S. Miller" <davem@...emloft.net>,
Cong Wang <cwang@...pensource.com>
Subject: Re: [Patch net] sched, cls: check if we could overwrite actions when
changing a filter
On 04/21/14 19:28, Cong Wang wrote:
> On Sat, Apr 19, 2014 at 4:10 AM, Jamal Hadi Salim <jhs@...atatu.com> wrote:
>> On 04/18/14 13:18, Cong Wang wrote:
>> RTNL is one dimension. The other is the datapath processing.
>> You need to make sure that packets still flow correctly during the
>> change over.
>
> Sure, since we grab tcf_tree_lock() before changing actions in
> tcf_exts_change(), I think this is guaranteed too.
>
Maybe - I thought there were recent changes to tcf_tree_lock that
eased the restriction. Youd need to make sure.
>> Well - then go nuts and put out a patch.
>> Replace _all or none_ is a reasonable approach.
>>
>>
>
> Great! We both agree on this.
>
> Looking at the current code, we first initialize a list of actions
> and then replace them as a whole by splicing the lists with
> tcf_tree_lock held, so this is already done. IOW, this patch
> is enough.
>
> Or am I missing anything?
>
I dont see what you are seeing. However, some quick tests will prove it.
Example go from 1->3 actions and backwards 3->1 actions.
I.e create a policy with (handwave) 3 actions and replace it with
another that has only one action. Do this while you are sending a
ping exercising this policy.
I can see how yours with 1->0 and 0->1 will work.
cheers,
jamal
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists