[PATCH net-next 0/2] misc TC/flower changes

STALE3570d

6 messages, 4 authors, 2016-11-02 · open the first message on its own page

[PATCH net-next 0/2] misc TC/flower changes

From: Roi Dayan <hidden>
Date: 2016-11-01 14:08:38

This series includes two small changes to the TC flower classifier.

Thanks,

Roi

Roi Dayan (2):
  net/sched: cls_flower: add missing unbind call when destroying flows
  net/sched: cls_flower: merge filter delete/destroy common code

 net/sched/cls_flower.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

-- 
2.7.4

[PATCH net-next 1/2] net/sched: cls_flower: add missing unbind call when destroying flows

From: Roi Dayan <hidden>
Date: 2016-11-01 14:08:38

tcf_unbind was called in fl_delete but was missing in fl_destroy when
force deleting flows.

Fixes: 77b9900ef53a ('tc: introduce Flower classifier')
Signed-off-by: Roi Dayan <redacted>
Reviewed-by: Jiri Pirko <redacted>
---
 net/sched/cls_flower.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/net/sched/cls_flower.c b/net/sched/cls_flower.c
index f6f40fb..a5f6370 100644
--- a/net/sched/cls_flower.c
+++ b/net/sched/cls_flower.c
@@ -280,6 +280,7 @@ static bool fl_destroy(struct tcf_proto *tp, bool force)
 	list_for_each_entry_safe(f, next, &head->filters, list) {
 		fl_hw_destroy_filter(tp, (unsigned long)f);
 		list_del_rcu(&f->list);
+		tcf_unbind_filter(tp, &f->res);
 		call_rcu(&f->rcu, fl_destroy_filter);
 	}
 	RCU_INIT_POINTER(tp->root, NULL);
-- 
2.7.4

[PATCH net-next 2/2] net/sched: cls_flower: merge filter delete/destroy common code

From: Roi Dayan <hidden>
Date: 2016-11-01 14:08:38

Move common code from fl_delete and fl_detroy to __fl_delete.

Signed-off-by: Roi Dayan <redacted>
---
 net/sched/cls_flower.c | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/net/sched/cls_flower.c b/net/sched/cls_flower.c
index a5f6370..a8fb1ca 100644
--- a/net/sched/cls_flower.c
+++ b/net/sched/cls_flower.c
@@ -269,6 +269,14 @@ static void fl_hw_update_stats(struct tcf_proto *tp, struct cls_fl_filter *f)
 	dev->netdev_ops->ndo_setup_tc(dev, tp->q->handle, tp->protocol, &tc);
 }
 
+static void __fl_delete(struct tcf_proto *tp, struct cls_fl_filter *f)
+{
+	list_del_rcu(&f->list);
+	fl_hw_destroy_filter(tp, (unsigned long)f);
+	tcf_unbind_filter(tp, &f->res);
+	call_rcu(&f->rcu, fl_destroy_filter);
+}
+
 static bool fl_destroy(struct tcf_proto *tp, bool force)
 {
 	struct cls_fl_head *head = rtnl_dereference(tp->root);
@@ -277,12 +285,8 @@ static bool fl_destroy(struct tcf_proto *tp, bool force)
 	if (!force && !list_empty(&head->filters))
 		return false;
 
-	list_for_each_entry_safe(f, next, &head->filters, list) {
-		fl_hw_destroy_filter(tp, (unsigned long)f);
-		list_del_rcu(&f->list);
-		tcf_unbind_filter(tp, &f->res);
-		call_rcu(&f->rcu, fl_destroy_filter);
-	}
+	list_for_each_entry_safe(f, next, &head->filters, list)
+		__fl_delete(tp, f);
 	RCU_INIT_POINTER(tp->root, NULL);
 	if (head->mask_assigned)
 		rhashtable_destroy(&head->ht);
@@ -742,10 +746,7 @@ static int fl_delete(struct tcf_proto *tp, unsigned long arg)
 
 	rhashtable_remove_fast(&head->ht, &f->ht_node,
 			       head->ht_params);
-	list_del_rcu(&f->list);
-	fl_hw_destroy_filter(tp, (unsigned long)f);
-	tcf_unbind_filter(tp, &f->res);
-	call_rcu(&f->rcu, fl_destroy_filter);
+	__fl_delete(tp, f);
 	return 0;
 }
 
-- 
2.7.4

Re: [PATCH net-next 2/2] net/sched: cls_flower: merge filter delete/destroy common code

From: Jiri Pirko <jiri@resnulli.us>
Date: 2016-11-01 14:23:34

Tue, Nov 01, 2016 at 03:08:29PM CET, roid@mellanox.com wrote:
Move common code from fl_delete and fl_detroy to __fl_delete.

Signed-off-by: Roi Dayan <redacted>
Acked-by: Jiri Pirko <redacted>

Re: [PATCH net-next 2/2] net/sched: cls_flower: merge filter delete/destroy common code

From: Sergei Shtylyov <hidden>
Date: 2016-11-01 16:17:59

On 11/01/2016 05:08 PM, Roi Dayan wrote:
Move common code from fl_delete and fl_detroy to __fl_delete.
    fl_destroy().

Signed-off-by: Roi Dayan <redacted>
[...]

MBR, Sergei

Re: [PATCH net-next 0/2] misc TC/flower changes

From: David Miller <davem@davemloft.net>
Date: 2016-11-02 19:01:05

From: Roi Dayan <redacted>
Date: Tue,  1 Nov 2016 16:08:27 +0200
This series includes two small changes to the TC flower classifier.
Series applied, thanks!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help