Re: [PATCH 1/7] fix hnode refcounting

2018-09-07 Thread Jamal Hadi Salim
To clarify with an example i used to test your patches: #0 add ingress filter $TC qdisc add dev $P ingress #1 add filter $TC filter add dev $P parent : protocol ip prio 10 \ u32 match ip protocol 1 0xff #2 display $TC filter ls dev $P parent : #3 try to delete root $TC filter delete dev

Re: [PATCH 1/7] fix hnode refcounting

2018-09-07 Thread Jamal Hadi Salim
On 2018-09-06 10:35 p.m., Al Viro wrote: On Thu, Sep 06, 2018 at 06:21:09AM -0400, Jamal Hadi Salim wrote: [..] Argh... Unfortunately, there's this: in u32_delete() we have if (root_ht) { if (root_ht->refcnt > 1) { *l

Re: [PATCH 2/7] mark root hnode explicitly

2018-09-06 Thread Jamal Hadi Salim
On 2018-09-06 6:59 a.m., Al Viro wrote: On Thu, Sep 06, 2018 at 06:34:00AM -0400, Jamal Hadi Salim wrote: On 2018-09-06 6:28 a.m., Jamal Hadi Salim wrote: [..] Point, and that one is IMO enough to give up on using ->flags for that. How about simply diff --git a/net/sched/cls_u32.c b/

Re: [PATCH 2/7] mark root hnode explicitly

2018-09-06 Thread Jamal Hadi Salim
And a bunch of indentations... cheers, jamal diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c index 6d45ec4c218c..cb3bee12af78 100644 --- a/net/sched/cls_u32.c +++ b/net/sched/cls_u32.c @@ -485,7 +485,8 @@ static void u32_clear_hw_hnode(struct tcf_proto *tp, struct tc_u_hnode *h, struct

Re: [PATCH 7/7] clean tc_u_common hashtable

2018-09-06 Thread Jamal Hadi Salim
On 2018-09-05 3:04 p.m., Al Viro wrote: From: Al Viro * calculate key *once*, not for each hash chain element * let tc_u_hash() return the pointer to chain head rather than index - callers are cleaner that way. Signed-off-by: Al Viro Acked-by: Jamal Hadi Salim cheers, jamal

Re: [PATCH 6/7] get rid of tc_u_common ->rcu

2018-09-06 Thread Jamal Hadi Salim
On 2018-09-05 3:04 p.m., Al Viro wrote: From: Al Viro unused Signed-off-by: Al Viro Acked-by: Jamal Hadi Salim cheers, jamal

Re: [PATCH 5/7] get rid of tc_u_knode ->tp

2018-09-06 Thread Jamal Hadi Salim
On 2018-09-05 3:04 p.m., Al Viro wrote: From: Al Viro not used anymore Signed-off-by: Al Viro Acked-by: Jamal Hadi Salim cheers, jamal

Re: [PATCH 4/7] get rid of unused argument of u32_destroy_key()

2018-09-06 Thread Jamal Hadi Salim
On 2018-09-05 3:04 p.m., Al Viro wrote: From: Al Viro Signed-off-by: Al Viro Acked-by: Jamal Hadi Salim cheers, jamal

Re: [PATCH 2/7] mark root hnode explicitly

2018-09-06 Thread Jamal Hadi Salim
On 2018-09-06 6:28 a.m., Jamal Hadi Salim wrote: On 2018-09-05 3:04 p.m., Al Viro wrote: From: Al Viro ... and disallow deleting or linking to such Signed-off-by: Al Viro Same comment as other one in regards to subject Since the flag space is coming from htnode which is exposed via uapi

Re: [PATCH 2/7] mark root hnode explicitly

2018-09-06 Thread Jamal Hadi Salim
for private use; but a comment in include/uapi/linux/pkt_cls.h that this flag or maybe a set of bits is reserved for internal use. Otherwise: Acked-by: Jamal Hadi Salim cheers, jamal

Re: [PATCH 3/7] make sure that divisor is a power of 2

2018-09-06 Thread Jamal Hadi Salim
On 2018-09-05 3:04 p.m., Al Viro wrote: From: Al Viro Signed-off-by: Al Viro Acked-by: Jamal Hadi Salim cheers, jamal

Re: [PATCH 1/7] fix hnode refcounting

2018-09-06 Thread Jamal Hadi Salim
of tree and subsystem. Example for this one: "[PATCH net 1/7]:net: sched: cls_u32: fix hnode refcounting" Also useful to have a cover letter summarizing the patchset in 0/7. Otherwise Acked-by: Jamal Hadi Salim cheers, jamal

Re: broken behaviour of TC filter delete

2018-08-26 Thread Jamal Hadi Salim
On 2018-08-25 9:02 a.m., Jiri Pirko wrote: Fri, Aug 24, 2018 at 08:11:07PM CEST, xiyou.wangc...@gmail.com wrote: ENOENT seems to be more logical to return when there's no more filter to delete. Yeah, at least we should keep ENOENT for compatibility. The bug here is chain 0 is gone after the

Re: [PATCH net-next] net: sched: act_ife: disable bh when taking ife_mod_lock

2018-08-13 Thread Jamal Hadi Salim
case tasks deadlock because they take same two locks in different order. To prevent potential deadlock reported by lockdep, always disable bh when obtaining ife_mod_lock. Looks like your recent changes on net-next exposed this. Acked-by: Jamal Hadi Salim cheers, jamal

[PATCH net-next 04/13] net: sched: act_gact method rename for grep-ability and consistency

2018-08-12 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Signed-off-by: Jamal Hadi Salim --- net/sched/act_gact.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/sched/act_gact.c b/net/sched/act_gact.c index bfccd34a3968..52a3e474d822 100644 --- a/net/sched/act_gact.c +++ b/net/sched/act_gact.c

[PATCH net-next 11/13] net: sched: act_skbmod method rename for grep-ability and consistency

2018-08-12 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Signed-off-by: Jamal Hadi Salim --- net/sched/act_skbmod.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/sched/act_skbmod.c b/net/sched/act_skbmod.c index e9c86ade3b40..d6a1af0c4171 100644 --- a/net/sched/act_skbmod.c +++ b/net/sched

[PATCH net-next 07/13] net: sched: act_pedit method rename for grep-ability and consistency

2018-08-12 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Signed-off-by: Jamal Hadi Salim --- net/sched/act_pedit.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/sched/act_pedit.c b/net/sched/act_pedit.c index 3f62da72ab6a..8a7a7cb94e83 100644 --- a/net/sched/act_pedit.c +++ b/net/sched

[PATCH net-next 10/13] net: sched: act_skbedit method rename for grep-ability and consistency

2018-08-12 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Signed-off-by: Jamal Hadi Salim --- net/sched/act_skbedit.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/sched/act_skbedit.c b/net/sched/act_skbedit.c index a6db47ebec11..926d7bc4a89d 100644 --- a/net/sched/act_skbedit.c +++ b/net/sched

[PATCH net-next 00/13] net: sched: actions rename for grep-ability and consistency

2018-08-12 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Having a structure (example tcf_mirred) and a function with the same name is not good for readability or grepability. This long overdue patchset improves it and make sure there is consistency across all actions Jamal Hadi Salim (13): net: sched: act_connmark method

[PATCH net-next 03/13] net: sched: act_sum method rename for grep-ability and consistency

2018-08-12 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Signed-off-by: Jamal Hadi Salim --- net/sched/act_csum.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/sched/act_csum.c b/net/sched/act_csum.c index f01c59ba6d12..5596fae4e478 100644 --- a/net/sched/act_csum.c +++ b/net/sched/act_csum.c

[PATCH net-next 01/13] net: sched: act_connmark method rename for grep-ability and consistency

2018-08-12 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Signed-off-by: Jamal Hadi Salim --- net/sched/act_connmark.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/sched/act_connmark.c b/net/sched/act_connmark.c index 2f9bc833d046..54c0bf54f2ac 100644 --- a/net/sched/act_connmark.c +++ b/net

[PATCH net-next 13/13] net: sched: act_mirred method rename for grep-ability and consistency

2018-08-12 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Signed-off-by: Jamal Hadi Salim --- net/sched/act_mirred.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c index 327be257033d..8ec216001077 100644 --- a/net/sched/act_mirred.c +++ b/net/sched

[PATCH net-next 06/13] net: sched: act_nat method rename for grep-ability and consistency

2018-08-12 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Signed-off-by: Jamal Hadi Salim --- net/sched/act_nat.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/sched/act_nat.c b/net/sched/act_nat.c index 4dd9188a72fd..822e903bfc25 100644 --- a/net/sched/act_nat.c +++ b/net/sched/act_nat.c

[PATCH net-next 12/13] net: sched: act_vlan method rename for grep-ability and consistency

2018-08-12 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Signed-off-by: Jamal Hadi Salim --- net/sched/act_vlan.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/sched/act_vlan.c b/net/sched/act_vlan.c index 5bde17fe3608..d1f5028384c9 100644 --- a/net/sched/act_vlan.c +++ b/net/sched/act_vlan.c

[PATCH net-next 09/13] net: sched: act_simple method rename for grep-ability and consistency

2018-08-12 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Signed-off-by: Jamal Hadi Salim --- net/sched/act_simple.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/sched/act_simple.c b/net/sched/act_simple.c index 18e4452574cd..e616523ba3c1 100644 --- a/net/sched/act_simple.c +++ b/net/sched

[PATCH net-next 02/13] net: sched: act_bpf method rename for grep-ability and consistency

2018-08-12 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Signed-off-by: Jamal Hadi Salim --- net/sched/act_bpf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/sched/act_bpf.c b/net/sched/act_bpf.c index 9e8a33f9fee3..9b30e62805c7 100644 --- a/net/sched/act_bpf.c +++ b/net/sched/act_bpf.c

[PATCH net-next 08/13] net: sched: act_police method rename for grep-ability and consistency

2018-08-12 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Signed-off-by: Jamal Hadi Salim --- net/sched/act_police.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/net/sched/act_police.c b/net/sched/act_police.c index 88c16d80c1cf..06f0742db593 100644 --- a/net/sched/act_police.c +++ b/net

[PATCH net-next 05/13] net: sched: act_ipt method rename for grep-ability and consistency

2018-08-12 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Signed-off-by: Jamal Hadi Salim --- net/sched/act_ipt.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/sched/act_ipt.c b/net/sched/act_ipt.c index e149f0e66cb6..51f235bbeb5b 100644 --- a/net/sched/act_ipt.c +++ b/net/sched/act_ipt.c

Re: [PATCH net-next v5 1/4] net/sched: user-space can't set unknown tcfa_action values

2018-08-01 Thread Jamal Hadi Salim
On 31/07/18 10:40 AM, Paolo Abeni wrote: If we choose to reject unknown opcodes, such user-space configuration will fail. I think that is a good thing. The kernel should not be accepting things it doesnt understand. This is a good opportunity to enforce that. What would happen before this p

Re: [PATCH net-next v5 1/4] net/sched: user-space can't set unknown tcfa_action values

2018-07-31 Thread Jamal Hadi Salim
On 31/07/18 05:41 AM, Paolo Abeni wrote: Before this patch, the kernel exposed the same behaviour for negative value of 'bar', while, for positive 'bar' values, the overall behaviour was more complex (some classifier always stops with unknown positive action value, others go to lower prio). >

Re: [PATCH net-next v5 1/4] net/sched: user-space can't set unknown tcfa_action values

2018-07-30 Thread Jamal Hadi Salim
On 30/07/18 12:41 PM, Paolo Abeni wrote: On Mon, 2018-07-30 at 10:03 -0400, Jamal Hadi Salim wrote: On 30/07/18 08:30 AM, Paolo Abeni wrote: } + if (!tcf_action_valid(a->tcfa_action)) { + NL_SET_ERR_MSG(extack, "invalid action value, using TC_ACT_UNSPEC

Re: [PATCH net-next v5 1/4] net/sched: user-space can't set unknown tcfa_action values

2018-07-30 Thread Jamal Hadi Salim
On 30/07/18 08:30 AM, Paolo Abeni wrote: } + if (!tcf_action_valid(a->tcfa_action)) { + NL_SET_ERR_MSG(extack, "invalid action value, using TC_ACT_UNSPEC instead"); + a->tcfa_action = TC_ACT_UNSPEC; + } + return a; I think it would make

Re: [PATCH net-next v3 4/5] net/tc: introduce TC_ACT_REINJECT.

2018-07-26 Thread Jamal Hadi Salim
On 25/07/18 01:09 PM, Marcelo Ricardo Leitner wrote: On Wed, Jul 25, 2018 at 09:48:16AM -0700, Cong Wang wrote: On Wed, Jul 25, 2018 at 5:27 AM Jamal Hadi Salim wrote: Those changes were there from the beginning (above patch did not introduce them). IIRC, the reason was to distinguish

Re: [PATCH net-next v3 4/5] net/tc: introduce TC_ACT_REINJECT.

2018-07-25 Thread Jamal Hadi Salim
On 25/07/18 10:24 AM, Paolo Abeni wrote: On Wed, 2018-07-25 at 08:27 -0400, Jamal Hadi Salim wrote: Those changes were there from the beginning (above patch did not introduce them). IIRC, the reason was to distinguish between policy intended drops and drops because of errors. Double

Re: [PATCH net-next v3 4/5] net/tc: introduce TC_ACT_REINJECT.

2018-07-25 Thread Jamal Hadi Salim
till don't think it makes sense. Yep, I chose to increment 'overlimits' to preserve the current mirred semantic. AFAICS, that was first introduced with: commit 8919bc13e8d92c5b082c5c0321567383a071f5bc Author: Jamal Hadi Salim Date: Mon Aug 15 05:25:40 2011 + n

Re: [PATCH net-next v3 4/5] net/tc: introduce TC_ACT_REINJECT.

2018-07-25 Thread Jamal Hadi Salim
+Cc Shmulik Paolo - please also run the tdc tests (and add anymore if you feel they dont do coverage to your changes) On 24/07/18 04:06 PM, Paolo Abeni wrote: This is similar TC_ACT_REDIRECT, but with a slightly different semantic: - on ingress the mirred skbs are passed to the target device ne

Re: [PATCH net-next v3 3/5] tc/act: remove unneeded RCU lock in action callback

2018-07-25 Thread Jamal Hadi Salim
On 24/07/18 04:06 PM, Paolo Abeni wrote: Each lockless action currently does its own RCU locking in ->act(). This is allows using plain RCU accessor, even if the context is really RCU BH. This change drops the per action RCU lock, replace the accessors with _bh variant, cleans up a bit the surro

Re: [PATCH net-next v3 1/5] tc/act: user space can't use TC_ACT_REDIRECT directly

2018-07-25 Thread Jamal Hadi Salim
On 24/07/18 04:06 PM, Paolo Abeni wrote: --- a/net/sched/act_api.c +++ b/net/sched/act_api.c @@ -895,6 +895,11 @@ struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp, } } + if (a->tcfa_action == TC_ACT_REDIRECT) { + net_warn_rateli

Re: [PATCH net-next v3 5/5] act_mirred: use TC_ACT_REINJECT when possible

2018-07-25 Thread Jamal Hadi Salim
On 24/07/18 05:15 PM, Cong Wang wrote: On Tue, Jul 24, 2018 at 1:07 PM Paolo Abeni wrote: + + /* let's the caller reinject the packet, if possible */ + if (skb_at_tc_ingress(skb)) { + res->ingress = want_ingress; + res->qst

Re: [patch net-next v2 0/9] net: sched: introduce chain templates support with offloading to mlxsw

2018-06-29 Thread Jamal Hadi Salim
On 29/06/18 04:39 AM, Jiri Pirko wrote: Fri, Jun 29, 2018 at 12:25:53AM CEST, xiyou.wangc...@gmail.com wrote: On Thu, Jun 28, 2018 at 6:10 AM Jiri Pirko wrote: Add a template of type flower allowing to insert rules matching on last 2 bytes of destination mac address: # tc chaintemplate add dev

Re: [patch net-next v2 0/9] net: sched: introduce chain templates support with offloading to mlxsw

2018-06-28 Thread Jamal Hadi Salim
On 28/06/18 09:22 AM, Jiri Pirko wrote: Thu, Jun 28, 2018 at 03:13:30PM CEST, j...@mojatatu.com wrote: On 26/06/18 03:59 AM, Jiri Pirko wrote: From: Jiri Pirko For the TC clsact offload these days, some of HW drivers need to hold a magic ball. The reason is, with the first inserted rule insi

Re: [patch net-next v2 0/9] net: sched: introduce chain templates support with offloading to mlxsw

2018-06-28 Thread Jamal Hadi Salim
On 26/06/18 03:59 AM, Jiri Pirko wrote: From: Jiri Pirko For the TC clsact offload these days, some of HW drivers need to hold a magic ball. The reason is, with the first inserted rule inside HW they need to guess what fields will be used for the matching. If later on this guess proves to be

Re: [PATCH v2 net-next] net/sched: add skbprio scheduler

2018-06-24 Thread Jamal Hadi Salim
On 23/06/18 04:47 PM, Nishanth Devarajan wrote: [..] + /* Drop the packet at the tail of the lowest priority qdisc. */ + lp_qdisc = &q->qdiscs[lp]; + to_drop = __skb_dequeue_tail(lp_qdisc); + BUG_ON(!to_drop); + qdisc_qstats_backlog_dec(sch, to_drop); + qdisc_

Re: [PATCH v4 net-next] net:sched: add action inheritdsfield to skbedit

2018-06-20 Thread Jamal Hadi Salim
its would have been fine to match the size of the kernel flags), but other than that LGTM. Acked-by: Jamal Hadi Salim cheers, jamal

Re: [PATCH v4 net-next] net:sched: add action inheritdsfield to skbedit

2018-06-19 Thread Jamal Hadi Salim
ty. This enables later classification of packets based on the DS field. v4: *Not allow setting flags other than the expected ones. *Allow dumping the pure flags. Original idea by Jamal Hadi Salim Signed-off-by: Qiaobin Fu Reviewed-by: Michel Machado --- Note that the motivation for this patch

Re: [PATCH net-next v4 00/11] Modify action API for implementing lockless actions

2018-06-01 Thread Jamal Hadi Salim
On 31/05/18 08:38 AM, Vlad Buslov wrote: Hi Jamal, On current net-next I still have action with single reference after last step: ~$ sudo $TC -s actions ls action skbedit total acts 1 action order 0: skbedit mark 1 pipe

Re: [PATCH net-next v4 00/11] Modify action API for implementing lockless actions

2018-05-31 Thread Jamal Hadi Salim
Hi Vlad, Can you try one simple test below with these patches? #create an action sudo $TC actions add action skbedit mark 1 pipe # sudo $TC qdisc del dev lo parent : sudo $TC qdisc add dev lo ingress # bind action to filter sudo $TC filter add dev lo parent : protocol ip prio 1 \ u32

Re: [PATCH] net: sched: split tc_ctl_tfilter into three handlers

2018-05-28 Thread Jamal Hadi Salim
On 28/05/18 12:02 PM, Jamal Hadi Salim wrote: On 27/05/18 03:55 PM, Vlad Buslov wrote: tc_ctl_tfilter handles three netlink message types: RTM_NEWTFILTER, RTM_DELTFILTER, RTM_GETTFILTER. However, implementation of this function involves a lot of branching on specific message type because most

Re: [PATCH] net: sched: split tc_ctl_tfilter into three handlers

2018-05-28 Thread Jamal Hadi Salim
On 27/05/18 03:55 PM, Vlad Buslov wrote: tc_ctl_tfilter handles three netlink message types: RTM_NEWTFILTER, RTM_DELTFILTER, RTM_GETTFILTER. However, implementation of this function involves a lot of branching on specific message type because most of the code is message-specific. This significant

Re: [PATCH v2 net-next] net:sched: add action inheritdsfield to skbedit

2018-05-28 Thread Jamal Hadi Salim
by Jamal Hadi Salim Signed-off-by: Qiaobin Fu Reviewed-by: Michel Machado --- Note that the motivation for this patch is found in the following discussion: https://www.spinics.net/lists/netdev/msg501061.html --- diff --git a/include/uapi/linux/tc_act/tc_skbedit.h b/include/uapi/linux/tc_

Re: [PATCH net-next] net:sched: add action inheritdsfield to skbmod

2018-05-24 Thread Jamal Hadi Salim
On 23/05/18 07:01 PM, Cong Wang wrote: On Thu, May 17, 2018 at 12:33 PM, Fu, Qiaobin wrote: Hmm, but skbedit seems better than skbmod for this job, given: 1) It already modifies skb->priority, although with a given value 2) skbmod doesn't change skb metadata, it only changes payload I am _

Re: [PATCH net-next v2] net: sched: don't disable bh when accessing action idr

2018-05-22 Thread Jamal Hadi Salim
all action idr spinlock usage with regular calls that do not disable bh. Signed-off-by: Vlad Buslov Acked-by: Jamal Hadi Salim cheers, jamal

netdev 0x12 conference update

2018-05-22 Thread Jamal Hadi Salim
Folks, This is a small update to the community on the Netdev 0x12 conference (July 11-13, 2018 in Montreal, Canada, https://www.netdevconf.org/0x12). Early registration fees (20% off) are still in effect until June 1st. To Register: https://www.netdevconf.org/0x12/registration.html Our bursarie

Re: [PATCH net-next] net:sched: add action inheritdsfield to skbmod

2018-05-21 Thread Jamal Hadi Salim
On 21/05/18 10:42 AM, Fu, Qiaobin wrote: Hi Jamal, I've tested my patch before publishing it here, and Nishanth is going to test it further with version 2 of the GKprio. I'm going to push a patch to the repository iproute2 to add support for "inheritdsfield”. Thanks. I already acked the ker

Re: [PATCH net-next] net:sched: add action inheritdsfield to skbmod

2018-05-18 Thread Jamal Hadi Salim
On 17/05/18 03:33 PM, Fu, Qiaobin wrote: net/sched: add action inheritdsfield to skbmod The new action inheritdsfield copies the field DS of IPv4 and IPv6 packets into skb->prioriry. This enables later classification of packets based on the DS field. Original idea by Jamal Hadi Salim Sig

Re: [PATCH 00/14] Modify action API for implementing lockless actions

2018-05-18 Thread Jamal Hadi Salim
On 17/05/18 09:35 AM, Vlad Buslov wrote: On Wed 16 May 2018 at 21:51, Jiri Pirko wrote: Wed, May 16, 2018 at 11:23:41PM CEST, vla...@mellanox.com wrote: Please make sure you have these in your kernel config: CONFIG_NET_ACT_IFE=y CONFIG_NET_IFE_SKBMARK=m CONFIG_NET_IFE_SKBPRIO=m CONFIG_NE

Re: [PATCH 00/14] Modify action API for implementing lockless actions

2018-05-16 Thread Jamal Hadi Salim
On 16/05/18 10:38 AM, Roman Mashak wrote: You may actually have broken something with your patches in this case. Results is for net-next without my patches. Do you have skbmod compiled in kernel or as a module? Also - suggestion is to use latest iproute2 which interprets extended error i

Re: [PATCH net-next] net:sched: add gkprio scheduler

2018-05-16 Thread Jamal Hadi Salim
Sorry I dropped this. On 14/05/18 10:08 AM, Michel Machado wrote: On 09/05/18 01:37 PM, Michel Machado wrote: A simplified description of what DSprio is meant to do is as follows: when a link is overloaded at a router, DSprio makes this router drop the packets of lower priority. Makes se

Re: [PATCH net] net/sched: fix refcnt leak in the error path of tcf_vlan_init()

2018-05-16 Thread Jamal Hadi Salim
if (exists) + tcf_idr_release(*a, bind); return -EPROTONOSUPPORT; LGTM. Note: 5026c9b1bafc fixed the bug that existed. It missed a few spots like the one here. If there was an "Updates" tag, it would be more appropriate. Acked-by: Jamal Hadi Salim cheers, jamal

Re: [PATCH 00/14] Modify action API for implementing lockless actions

2018-05-15 Thread Jamal Hadi Salim
On 15/05/18 05:21 PM, Vlad Buslov wrote: 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 to run tdc, but keep ge

Re: [PATCH 00/14] Modify action API for implementing lockless actions

2018-05-15 Thread Jamal Hadi Salim
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 to run tdc, but keep getting following error even on clean branch without my patches: Vlad, not sure if you saw my email:

Re: [PATCH 00/14] Modify action API for implementing lockless actions

2018-05-14 Thread Jamal Hadi Salim
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 parallelism. This patch set is a first step to remove rtnl lock dependency from TC rules update pat

Re: [PATCH net-next] net:sched: add gkprio scheduler

2018-05-12 Thread Jamal Hadi Salim
Sorry for the latency.. On 09/05/18 01:37 PM, Michel Machado wrote: On 05/09/2018 10:43 AM, Jamal Hadi Salim wrote: On 08/05/18 10:27 PM, Cong Wang wrote: On Tue, May 8, 2018 at 6:29 AM, Jamal Hadi Salim wrote: I like the suggestion of extending skbmod to mark skbprio based on ds. Given

Re: [PATCH net-next] net:sched: add gkprio scheduler

2018-05-09 Thread Jamal Hadi Salim
On 08/05/18 10:27 PM, Cong Wang wrote: On Tue, May 8, 2018 at 6:29 AM, Jamal Hadi Salim wrote: Have you considered using skb->prio instead of peeking into the packet header. Also have you looked at the dsmark qdisc? dsmark modifies ds fields, while this one just maps ds fields i

Re: [PATCH net-next] net:sched: add gkprio scheduler

2018-05-08 Thread Jamal Hadi Salim
On 08/05/18 08:59 AM, Michel Machado wrote: Overall it looks good to me, just one thing below: +struct Qdisc_ops gkprio_qdisc_ops __read_mostly = { +   .id =   "gkprio", +   .priv_size  =   sizeof(struct gkprio_sched_data), +   .enqueue    =   gkprio_

Re: [PATCH net-next 1/1] inet_diag: fetch cong algo info when socket is destroyed

2018-04-30 Thread Jamal Hadi Salim
On 29/04/18 08:31 PM, David Miller wrote: Well, two things: 1) The congestion control info is opt-in, meaning that the user gets it in the dump if they ask for it. This information is opt-in, because otherwise the dumps get really large. Therefore, emitting this stuff by defau

[PATCH net-next 1/1] inet_diag: fetch cong algo info when socket is destroyed

2018-04-26 Thread Jamal Hadi Salim
From: Jamal Hadi Salim When a user dumps an existing established tcp socket state via inet diag, it is possible to retrieve the congestion control details. When an the sock is destroyed, the generated event has all the details available in the dump sans congestion control info. This patch fixes

Re: [PATCH net 3/3] net: sched: ife: check on metadata length

2018-04-19 Thread Jamal Hadi Salim
-by: Alexander Aring Reviewed-by: Yotam Gigi Acked-by: Jamal Hadi Salim cheers, jamal

Re: [PATCH net 2/3] net: sched: ife: handle malformed tlv length

2018-04-19 Thread Jamal Hadi Salim
that! Signed-off-by: Alexander Aring Acked-by: Jamal Hadi Salim cheers, jamal

Re: [PATCH net 1/3] net: sched: ife: signal not finding metaid

2018-04-19 Thread Jamal Hadi Salim
: Yotam Gigi Acked-by: Jamal Hadi Salim

Re: [PATCH net 1/1] net sched actions: fix dumping which requires several messages to user space

2018-03-27 Thread Jamal Hadi Salim
Note that the action with index 27 is omitted from the report. Fixes: 4b3550ef530c ("[NET_SCHED]: Use nla_nest_start/nla_nest_end")" Signed-off-by: Craig Dillabaugh Good catch. Acked-by: Jamal Hadi Salim cheers, jamal

Re: [PATCH net 0/7] fix idr leak in actions

2018-03-19 Thread Jamal Hadi Salim
ked-by: Jamal Hadi Salim Davide, Can you please contribute your tests to tdc? Those test would have for sure caught that. cheers, jamal

Re: WARNING: CPU: 3 PID: 0 at net/sched/sch_hfsc.c:1388 hfsc_dequeue+0x319/0x350 [sch_hfsc]

2018-03-19 Thread Jamal Hadi Salim
On 18-03-15 08:48 PM, Cong Wang wrote: On Wed, Mar 14, 2018 at 1:10 AM, Marco Berizzi wrote: Il 9 marzo 2018 alle 0.14 Cong Wang ha scritto: On Thu, Mar 8, 2018 at 8:02 AM, Marco Berizzi wrote: Marco Berizzi wrote: Hello everyone, Yesterday I got this error on a slackware linux 4.16-rc4

Announce: Netdev 0x12 Conference

2018-03-15 Thread Jamal Hadi Salim
The NetDev Society is pleased to announce that Netdev 0x12 will take place July 11-13, 2018 in Montreal, Canada. More details here: https://www.netdevconf.org/0x12 For regular updates, please subscribe to peo...@lists.netdevconf.org (more info at: https://lists.netdevconf.org/cgi-bin/mailman/lis

Re: [PATCH net] net: sched: fix unbalance in the error path of tca_action_flush()

2018-02-15 Thread Jamal Hadi Salim
On 18-02-15 09:50 AM, Davide Caratti wrote: When tca_action_flush() calls the action walk() and gets an error, a successful call to nla_nest_start() is not followed by a call to nla_nest_cancel(). It's harmless, as the skb is freed in the error path - but it's worth to fix this unbalance. Kind

Re: [PATCHv3 net-next 0/8] net: sched: act: add extack support

2018-02-15 Thread Jamal Hadi Salim
On 18-02-15 10:54 AM, Alexander Aring wrote: Hi, this patch series adds extack support for the TC action subsystem. As example I for the extack support in a TC action I choosed mirred action. For the patch series: Acked-by: Jamal Hadi Salim cheers, jamal

Re: [PATCHv2 net-next 0/8] net: sched: cls: add extack support

2018-01-18 Thread Jamal Hadi Salim
On 18-01-17 05:40 PM, Alexander Aring wrote: Hi, this patch adds extack support for TC classifier subsystem. The first patch fixes some code style issues for this patch series pointed out by checkpatch. The other patches until the last one prepares extack handling for the TC classifier subsystem

Re: [RFC v2 net-next 06/10] net/sched: Introduce the TBS Qdisc

2018-01-18 Thread Jamal Hadi Salim
One more comment: Probably try to run a test with a very small delta with no offload (probably using something like prio as the root qdisc) and dump the stats. My gut feeling is your accounting of the backlog in particular is off. cheers, jamal On 18-01-18 08:35 AM, Jamal Hadi Salim wrote: On

Re: [RFC v2 net-next 06/10] net/sched: Introduce the TBS Qdisc

2018-01-18 Thread Jamal Hadi Salim
On 18-01-17 06:06 PM, Jesus Sanchez-Palencia wrote: From: Vinicius Costa Gomes TBS (Time Based Scheduler) uses the information added earlier in this series (the socket option SO_TXTIME and the new role of sk_buff->tstamp) to schedule traffic transmission based on absolute time. For some worklo

Re: [PATCH net-next 2/8] net: sched: cls_api: handle generic cls errors

2018-01-17 Thread Jamal Hadi Salim
On 18-01-16 10:22 PM, David Ahern wrote: tp = tcf_chain_tp_find(chain, &chain_info, protocol, prio, prio_allocate); if (IS_ERR(tp)) { err = PTR_ERR(tp); goto errout; } > if (tp == NULL) {

Re: [PATCH net-next 2/8] net: sched: cls_api: handle generic cls errors

2018-01-16 Thread Jamal Hadi Salim
On 18-01-16 06:58 PM, David Ahern wrote: On 1/16/18 9:20 AM, Alexander Aring wrote: } if (n->nlmsg_type != RTM_NEWTFILTER || !(n->nlmsg_flags & NLM_F_CREATE)) { + NL_SET_ERR_MSG(extack, "Need both RTM_NEWTFILTER and NLM_F_CREA

Re: [patch net-next v10 00/13] net: sched: allow qdiscs to share filter block instances

2018-01-16 Thread Jamal Hadi Salim
On 18-01-16 10:33 AM, Jiri Pirko wrote: From: Jiri Pirko For patches 1-9: Reviewed-by: Jamal Hadi Salim Acked-by: Jamal Hadi Salim cheers, jamal

Re: [PATCH net-next 0/8] net: sched: cls: add extack support

2018-01-16 Thread Jamal Hadi Salim
On 18-01-16 05:41 PM, Jakub Kicinski wrote: On Tue, 16 Jan 2018 17:12:57 -0500, Jamal Hadi Salim wrote: On 18-01-16 04:46 PM, Jakub Kicinski wrote: On Tue, 16 Jan 2018 12:20:19 -0500, Alexander Aring wrote: [..] I would say precedence should be Jiri's patches, Alex's patche

Re: [PATCH net-next 0/8] net: sched: cls: add extack support

2018-01-16 Thread Jamal Hadi Salim
On 18-01-16 04:46 PM, Jakub Kicinski wrote: On Tue, 16 Jan 2018 12:20:19 -0500, Alexander Aring wrote: [..] Ugh, this is going to conflict with our series too :( (and I CCed you on ours) Would it be OK for you to hold off until Jiri's code gets merged and ours comes down via bpf-next? That

Re: [patch net-next 0/5] mlxsw: Offload PRIO qdisc

2018-01-12 Thread Jamal Hadi Salim
On 18-01-11 05:20 AM, Jiri Pirko wrote: From: Jiri Pirko Add an offload support for PRIO qdisc for mlxsw driver. PRIO qdisc is being offloaded by using ndo_setup_tc. It has three commands, to set or tune the qdisc, to remove it and to get its stats. Like RED offloading, offloading this qdisc i

Re: [patch net-next v7 09/13] net: sched: allow ingress and clsact qdiscs to share filter blocks

2018-01-11 Thread Jamal Hadi Salim
On 18-01-11 11:15 AM, Jiri Pirko wrote: Thu, Jan 11, 2018 at 04:44:32PM CET, j...@mojatatu.com wrote: On 18-01-11 10:07 AM, Jiri Pirko wrote: Thu, Jan 11, 2018 at 03:46:09PM CET, j...@mojatatu.com wrote: On 18-01-11 09:41 AM, Jiri Pirko wrote: Thu, Jan 11, 2018 at 03:37:08PM CET, j...@mojatat

Re: [patch net-next v7 09/13] net: sched: allow ingress and clsact qdiscs to share filter blocks

2018-01-11 Thread Jamal Hadi Salim
On 18-01-11 10:07 AM, Jiri Pirko wrote: Thu, Jan 11, 2018 at 03:46:09PM CET, j...@mojatatu.com wrote: On 18-01-11 09:41 AM, Jiri Pirko wrote: Thu, Jan 11, 2018 at 03:37:08PM CET, j...@mojatatu.com wrote: I only looked at the kernel code. Good you can stop it at tc but the API does not stop

Re: [patch net-next v7 09/13] net: sched: allow ingress and clsact qdiscs to share filter blocks

2018-01-11 Thread Jamal Hadi Salim
On 18-01-11 09:41 AM, Jiri Pirko wrote: Thu, Jan 11, 2018 at 03:37:08PM CET, j...@mojatatu.com wrote: On 18-01-11 09:24 AM, Jiri Pirko wrote: Thu, Jan 11, 2018 at 02:36:01PM CET, j...@mojatatu.com wrote: On 18-01-09 09:07 AM, Jiri Pirko wrote: From: Jiri Pirko Benefit from the previously in

Re: [patch net-next v7 09/13] net: sched: allow ingress and clsact qdiscs to share filter blocks

2018-01-11 Thread Jamal Hadi Salim
On 18-01-11 09:24 AM, Jiri Pirko wrote: Thu, Jan 11, 2018 at 02:36:01PM CET, j...@mojatatu.com wrote: On 18-01-09 09:07 AM, Jiri Pirko wrote: From: Jiri Pirko Benefit from the previously introduced shared filter blocks infrastructure and allow ingress and clsact qdisc instances to share filte

Re: [patch net-next v7 09/13] net: sched: allow ingress and clsact qdiscs to share filter blocks

2018-01-11 Thread Jamal Hadi Salim
On 18-01-09 09:07 AM, Jiri Pirko wrote: From: Jiri Pirko Benefit from the previously introduced shared filter blocks infrastructure and allow ingress and clsact qdisc instances to share filter blocks. The block index is coming from userspace as qdisc option. Didnt quiet follow why ingress is

Re: [patch net-next v7 08/13] net: sched: add rt netlink message type for block get

2018-01-11 Thread Jamal Hadi Salim
On 18-01-09 09:07 AM, Jiri Pirko wrote: From: Jiri Pirko Add simple block get operation which primary purpose is to check the block existence by block index. block_dump missing? cheers, jamal

Re: [patch net-next v7 07/13] net: sched: use block index as a handle instead of qdisc when block is shared

2018-01-11 Thread Jamal Hadi Salim
On 18-01-09 09:07 AM, Jiri Pirko wrote: From: Jiri Pirko As the tcm_ifindex 0 is invalid ifindex, reuse it to indicate that we work with block, instead of qdisc. So if tcm_ifindex is 0, tcm_parent is used to carry block_index. Commit log still refers to ifindex of 0 instead of TCM_IFINDEX_MA

Re: [patch net-next v7 00/13] net: sched: allow qdiscs to share filter block instances

2018-01-11 Thread Jamal Hadi Salim
On 18-01-09 09:07 AM, Jiri Pirko wrote: From: Jiri Pirko Currently the filters added to qdiscs are independent. So for example if you have 2 netdevices and you create ingress qdisc on both and you want to add identical filter rules both, you need to add them twice. This patchset makes this easi

Re: [patch net-next v6 06/11] net: sched: use block index as a handle instead of qdisc when block is shared

2018-01-07 Thread Jamal Hadi Salim
On 18-01-07 09:28 AM, Jamal Hadi Salim wrote: On 18-01-07 08:46 AM, Jiri Pirko wrote: Sun, Jan 07, 2018 at 02:11:19PM CET, j...@mojatatu.com wrote: On 18-01-06 03:43 PM, Jiri Pirko wrote: @@ -886,8 +887,13 @@ static int tcf_fill_node(struct net *net, struct sk_buff *skb, tcm

[iproute2 1/1] tc: Fix filter protocol output

2018-01-07 Thread Jamal Hadi Salim
From: Jamal Hadi Salim Fixes: 249284ff5a44 ("tc: jsonify filter core") Signed-off-by: Jamal Hadi Salim --- tc/tc_filter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tc/tc_filter.c b/tc/tc_filter.c index 545cc3a..546311a 100644 --- a/tc/tc_filter.c +++ b/tc/t

Re: [patch net-next v6 06/11] net: sched: use block index as a handle instead of qdisc when block is shared

2018-01-07 Thread Jamal Hadi Salim
On 18-01-07 08:46 AM, Jiri Pirko wrote: Sun, Jan 07, 2018 at 02:11:19PM CET, j...@mojatatu.com wrote: On 18-01-06 03:43 PM, Jiri Pirko wrote: @@ -886,8 +887,13 @@ static int tcf_fill_node(struct net *net, struct sk_buff *skb, tcm->tcm_family = AF_UNSPEC; tcm->tcm__pad1 = 0;

Re: [patch net-next v6 06/11] net: sched: use block index as a handle instead of qdisc when block is shared

2018-01-07 Thread Jamal Hadi Salim
On 18-01-06 03:43 PM, Jiri Pirko wrote: @@ -886,8 +887,13 @@ static int tcf_fill_node(struct net *net, struct sk_buff *skb, tcm->tcm_family = AF_UNSPEC; tcm->tcm__pad1 = 0; tcm->tcm__pad2 = 0; - tcm->tcm_ifindex = qdisc_dev(q)->ifindex; - tcm->tcm_parent =

Re: [patch net-next v6 00/11] net: sched: allow qdiscs to share filter block instances

2018-01-06 Thread Jamal Hadi Salim
On 18-01-06 01:02 PM, Jamal Hadi Salim wrote: On 18-01-06 04:48 AM, Jiri Pirko wrote: BTW: From your output, DavidA, i noticed something strange: two flower filters with the same handle id 0x1 (different prios) At least on the kernel i am using this is the exhibited default behavior. I can

Re: [patch net-next v6 00/11] net: sched: allow qdiscs to share filter block instances

2018-01-06 Thread Jamal Hadi Salim
On 18-01-06 12:41 PM, David Ahern wrote: On 1/6/18 1:07 AM, Jiri Pirko wrote: Sat, Jan 06, 2018 at 04:57:21AM CET, dsah...@gmail.com wrote: On 1/5/18 4:09 PM, Jiri Pirko wrote: From: Jiri Pirko $ tc filter show block 22 $ echo $? 0 $ tc qdisc show | grep block qdisc ingress : dev et

Re: [patch net-next v6 00/11] net: sched: allow qdiscs to share filter block instances

2018-01-06 Thread Jamal Hadi Salim
On 18-01-06 04:48 AM, Jiri Pirko wrote: [..] Or, do you think it should work like: $ tc qdisc add dev ens8 ingress $ tc qdisc qdisc ingress : dev ens8 parent :fff1 > $ tc qdisc add dev ens7 ingress block 22 > $ tc qdisc qdisc ingress : dev ens7 parent :fff1 block 22 qdisc

<    1   2   3   4   5   6   7   8   9   10   >