e422f379f3 ("net: sched: use reference counting action init")
> Signed-off-by: Kumar Kartikeya Dwivedi
> ---
> Changelog:
>
> v2 -> v3
> Cleanup new action on rollback after raising refcount (Cong)
>
> v1 -> v2
> Remove erroneous tcf_action_put_many call
r;
It looks like here the modules for all actions that successfully
completed their init has already been release by either
tcf_action_init_1() on action overwrite or by tcf_action_destroy() on
action create. I'll try to come up with tests that validate these corner
cases.
Regards,
Vlad
correctly.
Signed-off-by: Vlad Buslov
---
.../tc-testing/tc-tests/actions/simple.json | 24 +++
1 file changed, 24 insertions(+)
diff --git a/tools/testing/selftests/tc-testing/tc-tests/actions/simple.json
b/tools/testing/selftests/tc-testing/tc-tests/actions/simple.json
index
module for the same action. In case of action creation, there
> is no existing action, so no tcf_exts_destroy callback happens.
>
> This means no code changes for CLS API.
>
> Fixes: cae422f379f3 ("net: sched: use reference counting action init")
> Signed-off-by: K
On Mon 29 Mar 2021 at 15:32, Toke Høiland-Jørgensen wrote:
> Vlad Buslov writes:
>
>> On Thu 25 Mar 2021 at 14:00, Kumar Kartikeya Dwivedi
>> wrote:
>>> This adds functions that wrap the netlink API used for adding,
>>> manipulating, and removing filters
On Thu 25 Mar 2021 at 14:00, Kumar Kartikeya Dwivedi wrote:
> This adds functions that wrap the netlink API used for adding,
> manipulating, and removing filters and actions. These functions operate
> directly on the loaded prog's fd, and return a handle to the filter and
> action using an out
Hi Kumar,
Thanks for the patch!
On Sun 28 Mar 2021 at 09:45, Kumar Kartikeya Dwivedi wrote:
> When creating an action in replace mode, in tcf_action_add, the refcount
> of existing actions is rightly raised during tcf_idr_check_alloc call,
> but for new actions a dummy placeholder entry is
lx5e_encap_entry *e)
> { return -EOPNOTSUPP; }
> #endif
> int mlx5e_tc_tun_route_lookup(struct mlx5e_priv *priv,
Thanks Arnd!
Reviewed-by: Vlad Buslov
ction insertions together")
Reported-by: syzbot+151e3e714d34ae4ce...@syzkaller.appspotmail.com
Signed-off-by: Vlad Buslov
---
include/net/act_api.h | 1 +
net/sched/act_api.c | 2 +-
net/sched/cls_api.c | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/include/net/act_api.h b/i
ion_net_exit include/net/act_api.h:151 [inline]
>> police_exit_net+0x168/0x360 net/sched/act_police.c:390
>
> This is really strange. It seems we still left some -EBUSY placeholders
> in the idr, however, we actually call tcf_action_destroy() to clean up
> everything including -E
l match_level;
> | ^~~
> drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h:27:26: warning: 'struct
> mlx5e_encap_entry' declared inside parameter list will not be visible outside
> of this definition or declaration
>27 | int (*calc_hl
On Thu 03 Sep 2020 at 18:33, syzbot
wrote:
> syzbot has bisected this issue to:
>
> commit 4e8ddd7f1758ca4ddd0c1f7cf3e66fce736241d2
> Author: Vlad Buslov
> Date: Thu Jul 5 14:24:30 2018 +
>
> net: sched: don't release reference on action overwrite
>
uce dropped frames which is necessary for user. Status
> update shows how many filtered packets increasing and how many dropped
> in those packets.
>
> v2: Changes
> - Update commit comments suggest by Jiri Pirko.
>
> Signed-off-by: Po Liu
> ---
Reviewed-by: Vlad Buslov
On Tue 28 Apr 2020 at 06:34, Po Liu wrote:
> Add the gate action to the flow action entry. Add the gate parameters to
> the tc_setup_flow_action() queueing to the entries of flow_action_entry
> array provide to the driver.
>
> Signed-off-by: Po Liu
> ---
> include/net/flow_offload.h | 10
Hi Po,
On Tue 28 Apr 2020 at 06:34, Po Liu wrote:
> Introduce a ingress frame gate control flow action.
> Tc gate action does the work like this:
> Assume there is a gate allow specified ingress frames can be passed at
> specific time slot, and be dropped at specific time slot. Tc filter
>
On Tue 17 Sep 2019 at 20:03, Cong Wang wrote:
> On Tue, Sep 17, 2019 at 1:27 AM Vlad Buslov wrote:
>> Hi Cong,
>>
>> Don't see why we would need qdisc tree lock while releasing the
>> reference to (or destroying) previous Qdisc. I've skimmed through other
>> sc
1e
>> compiler: clang version 9.0.0 (/home/glider/llvm/clang
>> 80fee25776c2fb61e74c1ecb1a523375c2500b69)
>> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=116c4b1160
>> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15ff270d60
>>
>> The bug was bisected to:
+++
> 5 files changed, 404 insertions(+), 177 deletions(-)
>
> Thanks,
> Dennis
Hi Dennis,
Thank you very much for doing this!
I applied the patches on top of current net-next and can confirm that tc
filter insertion rate is significantly improved and is better compared
to version with offending commit simply reverted.
Regards,
Vlad
This is fixed by Dan Carpenter's patch "net: sched: potential NULL
dereference in tcf_block_find()" that was submitted yesterday.
On Mon 18 Feb 2019 at 20:02, Cong Wang wrote:
> (Cc'ing Vlad, please fix it)
>
> On Wed, Feb 13, 2019 at 9:56 AM syzbot
> wrote:
>>
On Tue, Nov 20, 2018 at 2:17 PM Dennis Zhou wrote:
>
> Hi Eddie, Vlad, and Willem,
>
> A few people mentioned to me that you guys were experiencing issues with
> the percpu memory allocator. I saw the talk slides mention the
> following two bullets:
>
> 1) allocation p
On Tue, Nov 20, 2018 at 2:17 PM Dennis Zhou wrote:
>
> Hi Eddie, Vlad, and Willem,
>
> A few people mentioned to me that you guys were experiencing issues with
> the percpu memory allocator. I saw the talk slides mention the
> following two bullets:
>
> 1) allocation p
On Thu 24 May 2018 at 23:34, Cong Wang <xiyou.wangc...@gmail.com> wrote:
> On Mon, May 14, 2018 at 7:27 AM, Vlad Buslov <vla...@mellanox.com> wrote:
>> Currently, all netlink protocol handlers for updating rules, actions and
>> qdiscs are protected with single global
On Thu 24 May 2018 at 23:34, Cong Wang wrote:
> On Mon, May 14, 2018 at 7:27 AM, Vlad Buslov wrote:
>> Currently, all netlink protocol handlers for updating rules, actions and
>> qdiscs are protected with single global rtnl lock which removes any
>> possibility for parall
On Wed 23 May 2018 at 23:14, Cong Wang <xiyou.wangc...@gmail.com> wrote:
> On Wed, May 23, 2018 at 1:52 AM, Vlad Buslov <vla...@mellanox.com> wrote:
>> Initial net_device implementation used ingress_lock spinlock to synchronize
>> ingress path of device. This lock was
On Wed 23 May 2018 at 23:14, Cong Wang wrote:
> On Wed, May 23, 2018 at 1:52 AM, Vlad Buslov wrote:
>> Initial net_device implementation used ingress_lock spinlock to synchronize
>> ingress path of device. This lock was used in both process and bh context.
>> In some code
eplace all action idr spinlock usage with regular calls that do not
disable bh.
Acked-by: Jiri Pirko <j...@mellanox.com>
Acked-by: Jamal Hadi Salim <j...@mojatatu.com>
Signed-off-by: Vlad Buslov <vla...@mellanox.com>
---
Changes from V2 to V3:
- Expanded commit message.
Changes
eplace all action idr spinlock usage with regular calls that do not
disable bh.
Acked-by: Jiri Pirko
Acked-by: Jamal Hadi Salim
Signed-off-by: Vlad Buslov
---
Changes from V2 to V3:
- Expanded commit message.
Changes from V1 to V2:
- Expanded commit message.
net/sched/act_api.c | 20 ++
On Wed 23 May 2018 at 01:10, Cong Wang <xiyou.wangc...@gmail.com> wrote:
> On Mon, May 21, 2018 at 1:03 PM, Vlad Buslov <vla...@mellanox.com> wrote:
>> Initial net_device implementation used ingress_lock spinlock to synchronize
>> ingress path of device. This lock was
On Wed 23 May 2018 at 01:10, Cong Wang wrote:
> On Mon, May 21, 2018 at 1:03 PM, Vlad Buslov wrote:
>> Initial net_device implementation used ingress_lock spinlock to synchronize
>> ingress path of device. This lock was used in both process and bh context.
>> In some code
ls that do not
disable bh.
Signed-off-by: Vlad Buslov <vla...@mellanox.com>
---
net/sched/act_api.c | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/net/sched/act_api.c b/net/sched/act_api.c
index 72251241665a..3f4cf930f809 100644
--- a/net/sched/act
ls that do not
disable bh.
Signed-off-by: Vlad Buslov
---
net/sched/act_api.c | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/net/sched/act_api.c b/net/sched/act_api.c
index 72251241665a..3f4cf930f809 100644
--- a/net/sched/act_api.c
+++ b/net/sched
On Sat 19 May 2018 at 21:52, Marcelo Ricardo Leitner
<marcelo.leit...@gmail.com> wrote:
> On Mon, May 14, 2018 at 05:27:10PM +0300, Vlad Buslov wrote:
>> Return from action init function with reference to action taken,
>> even when overwriting existing action.
>
>
On Sat 19 May 2018 at 21:52, Marcelo Ricardo Leitner
wrote:
> On Mon, May 14, 2018 at 05:27:10PM +0300, Vlad Buslov wrote:
>> Return from action init function with reference to action taken,
>> even when overwriting existing action.
>
> Isn't this patch necessary before
On Sun 20 May 2018 at 06:22, Jiri Pirko <j...@resnulli.us> wrote:
> Sat, May 19, 2018 at 11:43:27PM CEST, marcelo.leit...@gmail.com wrote:
>>On Mon, May 14, 2018 at 05:27:07PM +0300, Vlad Buslov wrote:
>>...
>>> @@ -1052,6 +1088,36 @@ static int tca_action
On Sun 20 May 2018 at 06:22, Jiri Pirko wrote:
> Sat, May 19, 2018 at 11:43:27PM CEST, marcelo.leit...@gmail.com wrote:
>>On Mon, May 14, 2018 at 05:27:07PM +0300, Vlad Buslov wrote:
>>...
>>> @@ -1052,6 +1088,36 @@ static int tca_action_flush(struct net *net,
On Sat 19 May 2018 at 21:04, Marcelo Ricardo Leitner
<marcelo.leit...@gmail.com> wrote:
> On Mon, May 14, 2018 at 05:27:03PM +0300, Vlad Buslov wrote:
>> Change type of action reference counter to refcount_t.
>>
>> Change type of action bind counter to atomic_t.
&g
On Sat 19 May 2018 at 21:04, Marcelo Ricardo Leitner
wrote:
> On Mon, May 14, 2018 at 05:27:03PM +0300, Vlad Buslov wrote:
>> Change type of action reference counter to refcount_t.
>>
>> Change type of action bind counter to atomic_t.
>> This type is used to allo
On Sat 19 May 2018 at 02:59, Cong Wang <xiyou.wangc...@gmail.com> wrote:
> On Fri, May 18, 2018 at 8:45 AM, Vlad Buslov <vla...@mellanox.com> wrote:
>> Underlying implementation of action map has changed and doesn't require
>> disabling bh anymore. Replace al
On Sat 19 May 2018 at 02:59, Cong Wang wrote:
> On Fri, May 18, 2018 at 8:45 AM, Vlad Buslov wrote:
>> Underlying implementation of action map has changed and doesn't require
>> disabling bh anymore. Replace all action idr spinlock usage with regular
>> calls that do not d
Fix expected ip address to actually match configured ip address.
Fix test to expect single matched filter.
Signed-off-by: Vlad Buslov <vla...@mellanox.com>
---
tools/testing/selftests/tc-testing/tc-tests/filters/tests.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff
Fix expected ip address to actually match configured ip address.
Fix test to expect single matched filter.
Signed-off-by: Vlad Buslov
---
tools/testing/selftests/tc-testing/tc-tests/filters/tests.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing
Test 6fb4 creates one mirred and one pipe action, but only flushes mirred
on teardown. Leaking pipe action causes failures in other tests.
Add additional teardown command to also flush gact actions.
Signed-off-by: Vlad Buslov <vla...@mellanox.com>
---
tools/testing/selftests/tc-testing/tc
Test 6fb4 creates one mirred and one pipe action, but only flushes mirred
on teardown. Leaking pipe action causes failures in other tests.
Add additional teardown command to also flush gact actions.
Signed-off-by: Vlad Buslov
---
tools/testing/selftests/tc-testing/tc-tests/actions/mirred.json
Underlying implementation of action map has changed and doesn't require
disabling bh anymore. Replace all action idr spinlock usage with regular
calls that do not disable bh.
Signed-off-by: Vlad Buslov <vla...@mellanox.com>
---
net/sched/act_api.c | 20 ++--
1 file chang
Underlying implementation of action map has changed and doesn't require
disabling bh anymore. Replace all action idr spinlock usage with regular
calls that do not disable bh.
Signed-off-by: Vlad Buslov
---
net/sched/act_api.c | 20 ++--
1 file changed, 10 insertions(+), 10
@resnulli.us> wrote:
>>>>>>> Mon, May 14, 2018 at 04:27:13PM CEST, vla...@mellanox.com wrote:
>>>>>>>>Retry check-insert sequence in action init functions if action with same
>>>>>>>>index was inserted concurrently.
&g
la...@mellanox.com wrote:
>>>>>>>>Retry check-insert sequence in action init functions if action with same
>>>>>>>>index was inserted concurrently.
>>>>>>>>
>>>>>>>>Signed-off-by: Vlad Buslov
>>&g
ox.com wrote:
>>>>
>>>>On Wed 16 May 2018 at 09:59, Jiri Pirko <j...@resnulli.us> wrote:
>>>>> Mon, May 14, 2018 at 04:27:13PM CEST, vla...@mellanox.com wrote:
>>>>>>Retry check-insert sequence in action init functions if action with same
t;On Wed 16 May 2018 at 09:59, Jiri Pirko wrote:
>>>>> Mon, May 14, 2018 at 04:27:13PM CEST, vla...@mellanox.com wrote:
>>>>>>Retry check-insert sequence in action init functions if action with same
>>>>>>index was inserted concurrently.
>>>>
ox.com wrote:
>>>>Retry check-insert sequence in action init functions if action with same
>>>>index was inserted concurrently.
>>>>
>>>>Signed-off-by: Vlad Buslov <vla...@mellanox.com>
>>>>---
>>>> net/sched/act_bpf.c
rt sequence in action init functions if action with same
>>>>index was inserted concurrently.
>>>>
>>>>Signed-off-by: Vlad Buslov
>>>>---
>>>> net/sched/act_bpf.c| 8 +++-
>>>> net/sched/act_connmark.c | 8 +
On Wed 16 May 2018 at 09:59, Jiri Pirko <j...@resnulli.us> wrote:
> Mon, May 14, 2018 at 04:27:13PM CEST, vla...@mellanox.com wrote:
>>Retry check-insert sequence in action init functions if action with same
>>index was inserted concurrently.
>>
>>Signed-off-by:
On Wed 16 May 2018 at 09:59, Jiri Pirko wrote:
> Mon, May 14, 2018 at 04:27:13PM CEST, vla...@mellanox.com wrote:
>>Retry check-insert sequence in action init functions if action with same
>>index was inserted concurrently.
>>
>>Signed-off-by: Vlad Buslov
>>---
ter from
>>concurrent modification.
>>
>>Signed-off-by: Vlad Buslov <vla...@mellanox.com>
>
> [...]
>
>
>> /**
>> * gen_new_estimator - create a new rate estimator
>> * @bstats: basic statistics
>> * @cpu_bstats: bstats per cpu
>> * @rate_e
tion.
>>
>>Signed-off-by: Vlad Buslov
>
> [...]
>
>
>> /**
>> * gen_new_estimator - create a new rate estimator
>> * @bstats: basic statistics
>> * @cpu_bstats: bstats per cpu
>> * @rate_est: rate estimator statistics
>>+ * @rate_e
deletes action
>>only if it is still in action idr. This implementation prevents concurrent
>>threads from deleting same action twice.
>>
>>Signed-off-by: Vlad Buslov <vla...@mellanox.com>
>>---
>> net/sched/act_bpf.c| 8
>> net/sc
s still in action idr. This implementation prevents concurrent
>>threads from deleting same action twice.
>>
>>Signed-off-by: Vlad Buslov
>>---
>> net/sched/act_bpf.c| 8
>> net/sched/act_connmark.c | 8
>> net/sched/ac
On Wed 16 May 2018 at 09:50, Jiri Pirko <j...@resnulli.us> wrote:
> Mon, May 14, 2018 at 04:27:14PM CEST, vla...@mellanox.com wrote:
>>Substitute calls to action insert function with calls to action insert
>>unique function that warns if insertion overwrites index in idr.
>
On Wed 16 May 2018 at 09:50, Jiri Pirko wrote:
> Mon, May 14, 2018 at 04:27:14PM CEST, vla...@mellanox.com wrote:
>>Substitute calls to action insert function with calls to action insert
>>unique function that warns if insertion overwrites index in idr.
>>
>>
.com wrote:
>>>>Implement new action API function to atomically delete action with
>>>>specified index and to atomically insert unique action. These functions are
>>>>required to implement init and delete functions for specific actions that
>>>&g
on API function to atomically delete action with
>>>>specified index and to atomically insert unique action. These functions are
>>>>required to implement init and delete functions for specific actions that
>>>>do not rely on rtnl lock.
>>>>
>&
ctions are
>>required to implement init and delete functions for specific actions that
>>do not rely on rtnl lock.
>>
>>Signed-off-by: Vlad Buslov <vla...@mellanox.com>
>>---
>> include/net/act_api.h | 2 ++
>> net/sched/act_api.c | 45 ++
red to implement init and delete functions for specific actions that
>>do not rely on rtnl lock.
>>
>>Signed-off-by: Vlad Buslov
>>---
>> include/net/act_api.h | 2 ++
>> net/sched/act_api.c | 45 +
>> 2 files chan
ehavior to always take reference to action before returning
>>successfully.
>
> Where's the balance? Who does the release instead? I'm probably missing
> something.
I've resplit these patches for V2 to always do take/release in same
patch.
>
>>
>>Signed-off-by: V
ence to action before returning
>>successfully.
>
> Where's the balance? Who does the release instead? I'm probably missing
> something.
I've resplit these patches for V2 to always do take/release in same
patch.
>
>>
>>Signed-off-by: Vlad Buslov
>>---
&g
On Tue 15 May 2018 at 18:25, Jamal Hadi Salim <j...@mojatatu.com> wrote:
> On 14/05/18 04:46 PM, Vlad Buslov wrote:
>>
>> On Mon 14 May 2018 at 18:03, Jamal Hadi Salim <j...@mojatatu.com> wrote:
>>> On 14/05/18 10:27 AM, Vlad Buslov wrote:
>
>
&g
On Tue 15 May 2018 at 18:25, Jamal Hadi Salim wrote:
> On 14/05/18 04:46 PM, Vlad Buslov wrote:
>>
>> On Mon 14 May 2018 at 18:03, Jamal Hadi Salim wrote:
>>> On 14/05/18 10:27 AM, Vlad Buslov wrote:
>
>
>> Hello Jamal,
>>
>> I'm trying t
gt;>modifications so user must always hold reference to it.
>>>>>>
>>>>>>Implement helper put list function to atomically release list of actions
>>>>>>after action API init code is done using them.
>>>>>>
>>>
gt;>>>
>>>>>>Implement helper put list function to atomically release list of actions
>>>>>>after action API init code is done using them.
>>>>>>
>>>>>>Signed-off-by: Vlad Buslov
>>>>>>---
>>
>>>>idr check function that atomically looks up action in idr and increments
>>>>its reference and bind counters.
>>>>
>>>>Implement both action search and check using new safe function.
>>>>
>>>>Signed-off-by: Vlad B
atomically looks up action in idr and increments
>>>>its reference and bind counters.
>>>>
>>>>Implement both action search and check using new safe function.
>>>>
>>>>Signed-off-by: Vlad Buslov
>>>>---
>>>> net/sched/act_
ne. At this point action becomes accessible for concurrent
>>>>modifications so user must always hold reference to it.
>>>>
>>>>Implement helper put list function to atomically release list of actions
>>>>after acti
ible for concurrent
>>>>modifications so user must always hold reference to it.
>>>>
>>>>Implement helper put list function to atomically release list of actions
>>>>after action API init code is done using them.
>>>>
>>>>Signed-off-b
ist of actions
>>after action API init code is done using them.
>>
>>Signed-off-by: Vlad Buslov <vla...@mellanox.com>
>>---
>> net/sched/act_api.c | 38 +-
>> 1 file changed, 17 insertions(+), 21 deletions(-)
>>
>
>
t;>after action API init code is done using them.
>>
>>Signed-off-by: Vlad Buslov
>>---
>> net/sched/act_api.c | 38 +-
>> 1 file changed, 17 insertions(+), 21 deletions(-)
>>
>
> [...]
>
>
>>@@ -1196,8 +1190,
On Tue 15 May 2018 at 09:03, Jiri Pirko wrote:
> Mon, May 14, 2018 at 09:07:06PM CEST, vla...@mellanox.com wrote:
>>
>>On Mon 14 May 2018 at 16:47, Jiri Pirko wrote:
>>> Mon, May 14, 2018 at 04:27:07PM CEST, vla...@mellanox.com wrote:
>>>
>>> [...]
>>>
>>>
On Tue 15 May 2018 at 09:03, Jiri Pirko wrote:
> Mon, May 14, 2018 at 09:07:06PM CEST, vla...@mellanox.com wrote:
>>
>>On Mon 14 May 2018 at 16:47, Jiri Pirko wrote:
>>> Mon, May 14, 2018 at 04:27:07PM CEST, vla...@mellanox.com wrote:
>>>
>>> [...]
>>>
>>>
+static int
On Mon 14 May 2018 at 18:03, Jamal Hadi Salim <j...@mojatatu.com> wrote:
> On 14/05/18 10:27 AM, Vlad Buslov wrote:
>> Currently, all netlink protocol handlers for updating rules, actions and
>> qdiscs are protected with single global rtnl lock which removes any
>>
On Mon 14 May 2018 at 18:03, Jamal Hadi Salim wrote:
> On 14/05/18 10:27 AM, Vlad Buslov wrote:
>> Currently, all netlink protocol handlers for updating rules, actions and
>> qdiscs are protected with single global rtnl lock which removes any
>> possibility for parall
On Mon 14 May 2018 at 16:47, Jiri Pirko wrote:
> Mon, May 14, 2018 at 04:27:07PM CEST, vla...@mellanox.com wrote:
>
> [...]
>
>
>>+static int tcf_action_del_1(struct net *net, char *kind, u32 index,
>>+ struct netlink_ext_ack *extack)
>>+{
>>+ const
On Mon 14 May 2018 at 16:47, Jiri Pirko wrote:
> Mon, May 14, 2018 at 04:27:07PM CEST, vla...@mellanox.com wrote:
>
> [...]
>
>
>>+static int tcf_action_del_1(struct net *net, char *kind, u32 index,
>>+ struct netlink_ext_ack *extack)
>>+{
>>+ const struct
urrently)
>>
>>Remove unsafe action idr lookup function. Instead of it, implement safe tcf
>>idr check function that atomically looks up action in idr and increments
>>its reference and bind counters.
>>
>>Implement both action search and check using new safe funct
gt;Remove unsafe action idr lookup function. Instead of it, implement safe tcf
>>idr check function that atomically looks up action in idr and increments
>>its reference and bind counters.
>>
>>Implement both action search and check using new safe function.
>>
>&g
Extend action ops with 'delete' function. Each action type to implement its
own delete function that doesn't depend on rtnl lock.
Signed-off-by: Vlad Buslov <vla...@mellanox.com>
---
include/net/act_api.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/net/act_api.h b/inclu
Extend action ops with 'delete' function. Each action type to implement its
own delete function that doesn't depend on rtnl lock.
Signed-off-by: Vlad Buslov
---
include/net/act_api.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/net/act_api.h b/include/net/act_api.h
index e634014
its reference and bind counters.
Implement both action search and check using new safe function.
Signed-off-by: Vlad Buslov <vla...@mellanox.com>
---
net/sched/act_api.c | 38 --
1 file changed, 16 insertions(+), 22 deletions(-)
diff --git a/net/sched/act
its reference and bind counters.
Implement both action search and check using new safe function.
Signed-off-by: Vlad Buslov
---
net/sched/act_api.c | 38 --
1 file changed, 16 insertions(+), 22 deletions(-)
diff --git a/net/sched/act_api.c b/net/sched/act_api.c
to always take reference to action before returning
successfully.
Signed-off-by: Vlad Buslov <vla...@mellanox.com>
---
net/sched/act_bpf.c| 8
net/sched/act_connmark.c | 5 +++--
net/sched/act_csum.c | 8
net/sched/act_gact.c | 5 +++--
net/sched/act
to always take reference to action before returning
successfully.
Signed-off-by: Vlad Buslov
---
net/sched/act_bpf.c| 8
net/sched/act_connmark.c | 5 +++--
net/sched/act_csum.c | 8
net/sched/act_gact.c | 5 +++--
net/sched/act_ife.c| 12
Change type of action reference counter to refcount_t.
Change type of action bind counter to atomic_t.
This type is used to allow decrementing bind counter without testing
for 0 result.
Signed-off-by: Vlad Buslov <vla...@mellanox.com>
---
include/net/act_api.h | 5 +++--
net
Change type of action reference counter to refcount_t.
Change type of action bind counter to atomic_t.
This type is used to allow decrementing bind counter without testing
for 0 result.
Signed-off-by: Vlad Buslov
---
include/net/act_api.h | 5 +++--
net/sched/act_api.c| 32
user must always hold reference to it.
Implement helper put list function to atomically release list of actions
after action API init code is done using them.
Signed-off-by: Vlad Buslov <vla...@mellanox.com>
---
net/sched/act_api.c | 38 +-
1 file chang
user must always hold reference to it.
Implement helper put list function to atomically release list of actions
after action API init code is done using them.
Signed-off-by: Vlad Buslov
---
net/sched/act_api.c | 38 +-
1 file changed, 17 insertions(+), 21
it to userspace.
Signed-off-by: Vlad Buslov <vla...@mellanox.com>
---
net/sched/act_api.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/sched/act_api.c b/net/sched/act_api.c
index 3f02cd1..2772276e 100644
--- a/net/sched/act_api.c
+++ b/net/sched/act_api.c
@@
it to userspace.
Signed-off-by: Vlad Buslov
---
net/sched/act_api.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/sched/act_api.c b/net/sched/act_api.c
index 3f02cd1..2772276e 100644
--- a/net/sched/act_api.c
+++ b/net/sched/act_api.c
@@ -935,7 +935,7
on rtnl lock. Remove rtnl lock assertions that are no longer
needed.
Signed-off-by: Vlad Buslov <vla...@mellanox.com>
---
net/sched/act_api.c | 98 -
net/sched/cls_api.c | 1 -
2 files changed, 82 insertions(+), 17 deletions(-)
diff --git
on rtnl lock. Remove rtnl lock assertions that are no longer
needed.
Signed-off-by: Vlad Buslov
---
net/sched/act_api.c | 98 -
net/sched/cls_api.c | 1 -
2 files changed, 82 insertions(+), 17 deletions(-)
diff --git a/net/sched/act_api.c b/net
Add additional 'unlocked' argument to act API init functions.
Argument is true when rtnl lock is not taken and false otherwise.
It is required to implement actions that need to release rtnl lock before
loading kernel module and reacquire if afterwards.
Signed-off-by: Vlad Buslov <
Add additional 'unlocked' argument to act API init functions.
Argument is true when rtnl lock is not taken and false otherwise.
It is required to implement actions that need to release rtnl lock before
loading kernel module and reacquire if afterwards.
Signed-off-by: Vlad Buslov
---
include/net
Substitute calls to action insert function with calls to action insert
unique function that warns if insertion overwrites index in idr.
Signed-off-by: Vlad Buslov <vla...@mellanox.com>
---
net/sched/act_bpf.c| 2 +-
net/sched/act_connmark.c | 2 +-
net/sched/act_csum.c
1 - 100 of 667 matches
Mail list logo