* [Patch net-next] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call()
@ 2018-12-11 19:15 Cong Wang
2018-12-11 21:44 ` Jakub Kicinski
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Cong Wang @ 2018-12-11 19:15 UTC (permalink / raw)
To: netdev; +Cc: Cong Wang, Oz Shlomo, Jiri Pirko
After commit 69bd48404f25 ("net/sched: Remove egdev mechanism"),
tc_setup_cb_call() is nearly identical to tcf_block_cb_call(),
so we can just fold tcf_block_cb_call() into tc_setup_cb_call()
and remove its unused parameter 'exts'.
Fixes: 69bd48404f25 ("net/sched: Remove egdev mechanism")
Cc: Oz Shlomo <ozsh@mellanox.com>
Cc: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
---
include/net/pkt_cls.h | 4 ++--
net/sched/cls_api.c | 46 +++++++++++++++++-----------------------
net/sched/cls_bpf.c | 4 ++--
net/sched/cls_flower.c | 15 +++++--------
net/sched/cls_matchall.c | 5 ++---
net/sched/cls_u32.c | 8 +++----
6 files changed, 35 insertions(+), 47 deletions(-)
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h
index ea191d8cfcc9..40965fbbcd31 100644
--- a/include/net/pkt_cls.h
+++ b/include/net/pkt_cls.h
@@ -619,8 +619,8 @@ tcf_match_indev(struct sk_buff *skb, int ifindex)
}
#endif /* CONFIG_NET_CLS_IND */
-int tc_setup_cb_call(struct tcf_block *block, struct tcf_exts *exts,
- enum tc_setup_type type, void *type_data, bool err_stop);
+int tc_setup_cb_call(struct tcf_block *block, enum tc_setup_type type,
+ void *type_data, bool err_stop);
enum tc_block_command {
TC_BLOCK_BIND,
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index 6207f265b87c..8ce2a0507970 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -1270,29 +1270,6 @@ void tcf_block_cb_unregister(struct tcf_block *block,
}
EXPORT_SYMBOL(tcf_block_cb_unregister);
-static int tcf_block_cb_call(struct tcf_block *block, enum tc_setup_type type,
- void *type_data, bool err_stop)
-{
- struct tcf_block_cb *block_cb;
- int ok_count = 0;
- int err;
-
- /* Make sure all netdevs sharing this block are offload-capable. */
- if (block->nooffloaddevcnt && err_stop)
- return -EOPNOTSUPP;
-
- list_for_each_entry(block_cb, &block->cb_list, list) {
- err = block_cb->cb(type, type_data, block_cb->cb_priv);
- if (err) {
- if (err_stop)
- return err;
- } else {
- ok_count++;
- }
- }
- return ok_count;
-}
-
/* Main classifier routine: scans classifier chain attached
* to this qdisc, (optionally) tests for protocol and asks
* specific classifiers.
@@ -2515,10 +2492,27 @@ int tcf_exts_dump_stats(struct sk_buff *skb, struct tcf_exts *exts)
}
EXPORT_SYMBOL(tcf_exts_dump_stats);
-int tc_setup_cb_call(struct tcf_block *block, struct tcf_exts *exts,
- enum tc_setup_type type, void *type_data, bool err_stop)
+int tc_setup_cb_call(struct tcf_block *block, enum tc_setup_type type,
+ void *type_data, bool err_stop)
{
- return tcf_block_cb_call(block, type, type_data, err_stop);
+ struct tcf_block_cb *block_cb;
+ int ok_count = 0;
+ int err;
+
+ /* Make sure all netdevs sharing this block are offload-capable. */
+ if (block->nooffloaddevcnt && err_stop)
+ return -EOPNOTSUPP;
+
+ list_for_each_entry(block_cb, &block->cb_list, list) {
+ err = block_cb->cb(type, type_data, block_cb->cb_priv);
+ if (err) {
+ if (err_stop)
+ return err;
+ } else {
+ ok_count++;
+ }
+ }
+ return ok_count;
}
EXPORT_SYMBOL(tc_setup_cb_call);
diff --git a/net/sched/cls_bpf.c b/net/sched/cls_bpf.c
index fa6fe2fe0f32..a95cb240a606 100644
--- a/net/sched/cls_bpf.c
+++ b/net/sched/cls_bpf.c
@@ -169,7 +169,7 @@ static int cls_bpf_offload_cmd(struct tcf_proto *tp, struct cls_bpf_prog *prog,
if (oldprog)
tcf_block_offload_dec(block, &oldprog->gen_flags);
- err = tc_setup_cb_call(block, NULL, TC_SETUP_CLSBPF, &cls_bpf, skip_sw);
+ err = tc_setup_cb_call(block, TC_SETUP_CLSBPF, &cls_bpf, skip_sw);
if (prog) {
if (err < 0) {
cls_bpf_offload_cmd(tp, oldprog, prog, extack);
@@ -234,7 +234,7 @@ static void cls_bpf_offload_update_stats(struct tcf_proto *tp,
cls_bpf.name = prog->bpf_name;
cls_bpf.exts_integrated = prog->exts_integrated;
- tc_setup_cb_call(block, NULL, TC_SETUP_CLSBPF, &cls_bpf, false);
+ tc_setup_cb_call(block, TC_SETUP_CLSBPF, &cls_bpf, false);
}
static int cls_bpf_init(struct tcf_proto *tp)
diff --git a/net/sched/cls_flower.c b/net/sched/cls_flower.c
index 544811dded60..1eb2e2c31dd5 100644
--- a/net/sched/cls_flower.c
+++ b/net/sched/cls_flower.c
@@ -368,8 +368,7 @@ static void fl_hw_destroy_filter(struct tcf_proto *tp, struct cls_fl_filter *f,
cls_flower.command = TC_CLSFLOWER_DESTROY;
cls_flower.cookie = (unsigned long) f;
- tc_setup_cb_call(block, &f->exts, TC_SETUP_CLSFLOWER,
- &cls_flower, false);
+ tc_setup_cb_call(block, TC_SETUP_CLSFLOWER, &cls_flower, false);
tcf_block_offload_dec(block, &f->flags);
}
@@ -391,8 +390,7 @@ static int fl_hw_replace_filter(struct tcf_proto *tp,
cls_flower.exts = &f->exts;
cls_flower.classid = f->res.classid;
- err = tc_setup_cb_call(block, &f->exts, TC_SETUP_CLSFLOWER,
- &cls_flower, skip_sw);
+ err = tc_setup_cb_call(block, TC_SETUP_CLSFLOWER, &cls_flower, skip_sw);
if (err < 0) {
fl_hw_destroy_filter(tp, f, NULL);
return err;
@@ -418,8 +416,7 @@ static void fl_hw_update_stats(struct tcf_proto *tp, struct cls_fl_filter *f)
cls_flower.exts = &f->exts;
cls_flower.classid = f->res.classid;
- tc_setup_cb_call(block, &f->exts, TC_SETUP_CLSFLOWER,
- &cls_flower, false);
+ tc_setup_cb_call(block, TC_SETUP_CLSFLOWER, &cls_flower, false);
}
static bool __fl_delete(struct tcf_proto *tp, struct cls_fl_filter *f,
@@ -1502,8 +1499,7 @@ static void fl_hw_create_tmplt(struct tcf_chain *chain,
/* We don't care if driver (any of them) fails to handle this
* call. It serves just as a hint for it.
*/
- tc_setup_cb_call(block, NULL, TC_SETUP_CLSFLOWER,
- &cls_flower, false);
+ tc_setup_cb_call(block, TC_SETUP_CLSFLOWER, &cls_flower, false);
}
static void fl_hw_destroy_tmplt(struct tcf_chain *chain,
@@ -1516,8 +1512,7 @@ static void fl_hw_destroy_tmplt(struct tcf_chain *chain,
cls_flower.command = TC_CLSFLOWER_TMPLT_DESTROY;
cls_flower.cookie = (unsigned long) tmplt;
- tc_setup_cb_call(block, NULL, TC_SETUP_CLSFLOWER,
- &cls_flower, false);
+ tc_setup_cb_call(block, TC_SETUP_CLSFLOWER, &cls_flower, false);
}
static void *fl_tmplt_create(struct net *net, struct tcf_chain *chain,
diff --git a/net/sched/cls_matchall.c b/net/sched/cls_matchall.c
index 856fa79d4ffd..0e408ee9dcec 100644
--- a/net/sched/cls_matchall.c
+++ b/net/sched/cls_matchall.c
@@ -71,7 +71,7 @@ static void mall_destroy_hw_filter(struct tcf_proto *tp,
cls_mall.command = TC_CLSMATCHALL_DESTROY;
cls_mall.cookie = cookie;
- tc_setup_cb_call(block, NULL, TC_SETUP_CLSMATCHALL, &cls_mall, false);
+ tc_setup_cb_call(block, TC_SETUP_CLSMATCHALL, &cls_mall, false);
tcf_block_offload_dec(block, &head->flags);
}
@@ -90,8 +90,7 @@ static int mall_replace_hw_filter(struct tcf_proto *tp,
cls_mall.exts = &head->exts;
cls_mall.cookie = cookie;
- err = tc_setup_cb_call(block, NULL, TC_SETUP_CLSMATCHALL,
- &cls_mall, skip_sw);
+ err = tc_setup_cb_call(block, TC_SETUP_CLSMATCHALL, &cls_mall, skip_sw);
if (err < 0) {
mall_destroy_hw_filter(tp, head, cookie, NULL);
return err;
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index 4c54bc440798..dcea21004604 100644
--- a/net/sched/cls_u32.c
+++ b/net/sched/cls_u32.c
@@ -491,7 +491,7 @@ static void u32_clear_hw_hnode(struct tcf_proto *tp, struct tc_u_hnode *h,
cls_u32.hnode.handle = h->handle;
cls_u32.hnode.prio = h->prio;
- tc_setup_cb_call(block, NULL, TC_SETUP_CLSU32, &cls_u32, false);
+ tc_setup_cb_call(block, TC_SETUP_CLSU32, &cls_u32, false);
}
static int u32_replace_hw_hnode(struct tcf_proto *tp, struct tc_u_hnode *h,
@@ -509,7 +509,7 @@ static int u32_replace_hw_hnode(struct tcf_proto *tp, struct tc_u_hnode *h,
cls_u32.hnode.handle = h->handle;
cls_u32.hnode.prio = h->prio;
- err = tc_setup_cb_call(block, NULL, TC_SETUP_CLSU32, &cls_u32, skip_sw);
+ err = tc_setup_cb_call(block, TC_SETUP_CLSU32, &cls_u32, skip_sw);
if (err < 0) {
u32_clear_hw_hnode(tp, h, NULL);
return err;
@@ -533,7 +533,7 @@ static void u32_remove_hw_knode(struct tcf_proto *tp, struct tc_u_knode *n,
cls_u32.command = TC_CLSU32_DELETE_KNODE;
cls_u32.knode.handle = n->handle;
- tc_setup_cb_call(block, NULL, TC_SETUP_CLSU32, &cls_u32, false);
+ tc_setup_cb_call(block, TC_SETUP_CLSU32, &cls_u32, false);
tcf_block_offload_dec(block, &n->flags);
}
@@ -563,7 +563,7 @@ static int u32_replace_hw_knode(struct tcf_proto *tp, struct tc_u_knode *n,
if (n->ht_down)
cls_u32.knode.link_handle = ht->handle;
- err = tc_setup_cb_call(block, NULL, TC_SETUP_CLSU32, &cls_u32, skip_sw);
+ err = tc_setup_cb_call(block, TC_SETUP_CLSU32, &cls_u32, skip_sw);
if (err < 0) {
u32_remove_hw_knode(tp, n, NULL);
return err;
--
2.19.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Patch net-next] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call()
2018-12-11 19:15 [Patch net-next] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call() Cong Wang
@ 2018-12-11 21:44 ` Jakub Kicinski
2018-12-12 0:05 ` Cong Wang
2018-12-12 6:51 ` Jiri Pirko
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Jakub Kicinski @ 2018-12-11 21:44 UTC (permalink / raw)
To: Cong Wang; +Cc: netdev, Oz Shlomo, Jiri Pirko
On Tue, 11 Dec 2018 11:15:46 -0800, Cong Wang wrote:
> After commit 69bd48404f25 ("net/sched: Remove egdev mechanism"),
> tc_setup_cb_call() is nearly identical to tcf_block_cb_call(),
> so we can just fold tcf_block_cb_call() into tc_setup_cb_call()
> and remove its unused parameter 'exts'.
>
> Fixes: 69bd48404f25 ("net/sched: Remove egdev mechanism")
> Cc: Oz Shlomo <ozsh@mellanox.com>
> Cc: Jiri Pirko <jiri@mellanox.com>
> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Thanks, I didn't want to nit pick too much on Oz's patch :)
The Fixes tag is superfluous, this is far from a bug, unnecessary noise
for backporters.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch net-next] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call()
2018-12-11 21:44 ` Jakub Kicinski
@ 2018-12-12 0:05 ` Cong Wang
2018-12-12 0:25 ` Jakub Kicinski
0 siblings, 1 reply; 8+ messages in thread
From: Cong Wang @ 2018-12-12 0:05 UTC (permalink / raw)
To: Jakub Kicinski; +Cc: Linux Kernel Network Developers, Oz Shlomo, Jiri Pirko
On Tue, Dec 11, 2018 at 1:44 PM Jakub Kicinski
<jakub.kicinski@netronome.com> wrote:
>
> On Tue, 11 Dec 2018 11:15:46 -0800, Cong Wang wrote:
> > After commit 69bd48404f25 ("net/sched: Remove egdev mechanism"),
> > tc_setup_cb_call() is nearly identical to tcf_block_cb_call(),
> > so we can just fold tcf_block_cb_call() into tc_setup_cb_call()
> > and remove its unused parameter 'exts'.
> >
> > Fixes: 69bd48404f25 ("net/sched: Remove egdev mechanism")
> > Cc: Oz Shlomo <ozsh@mellanox.com>
> > Cc: Jiri Pirko <jiri@mellanox.com>
> > Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
>
> Thanks, I didn't want to nit pick too much on Oz's patch :)
>
> The Fixes tag is superfluous, this is far from a bug, unnecessary noise
> for backporters.
Odd, you just Acked a patch which uses Fixes tag for a newline
change:
commit 10a5ce98539948affbdc28dc0f39a1b6b2307f9d
Author: Martin KaFai Lau <kafai@fb.com>
Date: Mon Dec 10 10:53:24 2018 -0800
bpf: bpftool: Fix newline and p_err issue
This patch fixes a few newline issues and also
replaces p_err with p_info in prog.c
Fixes: b053b439b72a ("bpf: libbpf: bpftool: Print bpf_line_info
during prog dump")
Cc: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Jakub, please guide me which Jakub I should trust. :)
Or you believe a newline change is more close to a bug fix
than this?
Please help!
Thanks a lot!
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch net-next] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call()
2018-12-12 0:05 ` Cong Wang
@ 2018-12-12 0:25 ` Jakub Kicinski
2018-12-12 0:32 ` Cong Wang
0 siblings, 1 reply; 8+ messages in thread
From: Jakub Kicinski @ 2018-12-12 0:25 UTC (permalink / raw)
To: Cong Wang; +Cc: Linux Kernel Network Developers, Oz Shlomo, Jiri Pirko
On Tue, 11 Dec 2018 16:05:08 -0800, Cong Wang wrote:
> On Tue, Dec 11, 2018 at 1:44 PM Jakub Kicinski wrote:
> > On Tue, 11 Dec 2018 11:15:46 -0800, Cong Wang wrote:
> > > After commit 69bd48404f25 ("net/sched: Remove egdev mechanism"),
> > > tc_setup_cb_call() is nearly identical to tcf_block_cb_call(),
> > > so we can just fold tcf_block_cb_call() into tc_setup_cb_call()
> > > and remove its unused parameter 'exts'.
> > >
> > > Fixes: 69bd48404f25 ("net/sched: Remove egdev mechanism")
> > > Cc: Oz Shlomo <ozsh@mellanox.com>
> > > Cc: Jiri Pirko <jiri@mellanox.com>
> > > Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
> >
> > Thanks, I didn't want to nit pick too much on Oz's patch :)
> >
> > The Fixes tag is superfluous, this is far from a bug, unnecessary noise
> > for backporters.
>
> Odd, you just Acked a patch which uses Fixes tag for a newline
> change:
>
> commit 10a5ce98539948affbdc28dc0f39a1b6b2307f9d
> Author: Martin KaFai Lau <kafai@fb.com>
> Date: Mon Dec 10 10:53:24 2018 -0800
>
> bpf: bpftool: Fix newline and p_err issue
>
> This patch fixes a few newline issues and also
> replaces p_err with p_info in prog.c
>
> Fixes: b053b439b72a ("bpf: libbpf: bpftool: Print bpf_line_info
> during prog dump")
> Cc: Jakub Kicinski <jakub.kicinski@netronome.com>
> Signed-off-by: Martin KaFai Lau <kafai@fb.com>
> Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
>
> Jakub, please guide me which Jakub I should trust. :)
>
> Or you believe a newline change is more close to a bug fix
> than this?
>
> Please help!
p_err() breaks JSON so it's an actual bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch net-next] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call()
2018-12-12 0:25 ` Jakub Kicinski
@ 2018-12-12 0:32 ` Cong Wang
0 siblings, 0 replies; 8+ messages in thread
From: Cong Wang @ 2018-12-12 0:32 UTC (permalink / raw)
To: Jakub Kicinski; +Cc: Linux Kernel Network Developers, Oz Shlomo, Jiri Pirko
On Tue, Dec 11, 2018 at 4:25 PM Jakub Kicinski
<jakub.kicinski@netronome.com> wrote:
>
> p_err() breaks JSON so it's an actual bug.
Fair enough. Mind to explain the following one to me?
I know you were not involved but you didn't object it either.
commit 74be39ebba36e98a973ddb914fb41dc9e5129e36
Author: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Date: Mon Nov 26 15:42:02 2018 +0100
netns: remove net arg from rtnl_net_fill()
This argument is not used anymore.
Fixes: cab3c8ec8d57 ("netns: always provide the id to rtnl_net_fill()")
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
If you want, I can show you more...
Where do you want to draw the line? :)
Thanks!
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch net-next] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call()
2018-12-11 19:15 [Patch net-next] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call() Cong Wang
2018-12-11 21:44 ` Jakub Kicinski
@ 2018-12-12 6:51 ` Jiri Pirko
2018-12-12 11:31 ` Oz Shlomo
2018-12-14 23:32 ` David Miller
3 siblings, 0 replies; 8+ messages in thread
From: Jiri Pirko @ 2018-12-12 6:51 UTC (permalink / raw)
To: Cong Wang; +Cc: netdev, Oz Shlomo, Jiri Pirko
Tue, Dec 11, 2018 at 08:15:46PM CET, xiyou.wangcong@gmail.com wrote:
>After commit 69bd48404f25 ("net/sched: Remove egdev mechanism"),
>tc_setup_cb_call() is nearly identical to tcf_block_cb_call(),
>so we can just fold tcf_block_cb_call() into tc_setup_cb_call()
>and remove its unused parameter 'exts'.
>
>Fixes: 69bd48404f25 ("net/sched: Remove egdev mechanism")
>Cc: Oz Shlomo <ozsh@mellanox.com>
>Cc: Jiri Pirko <jiri@mellanox.com>
>Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch net-next] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call()
2018-12-11 19:15 [Patch net-next] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call() Cong Wang
2018-12-11 21:44 ` Jakub Kicinski
2018-12-12 6:51 ` Jiri Pirko
@ 2018-12-12 11:31 ` Oz Shlomo
2018-12-14 23:32 ` David Miller
3 siblings, 0 replies; 8+ messages in thread
From: Oz Shlomo @ 2018-12-12 11:31 UTC (permalink / raw)
To: Cong Wang, netdev; +Cc: Jiri Pirko
On 12/11/2018 9:15 PM, Cong Wang wrote:
> After commit 69bd48404f25 ("net/sched: Remove egdev mechanism"),
> tc_setup_cb_call() is nearly identical to tcf_block_cb_call(),
> so we can just fold tcf_block_cb_call() into tc_setup_cb_call()
> and remove its unused parameter 'exts'.
>
> Fixes: 69bd48404f25 ("net/sched: Remove egdev mechanism")
> Cc: Oz Shlomo <ozsh@mellanox.com>
> Cc: Jiri Pirko <jiri@mellanox.com>
> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Acked-by: Oz Shlomo <ozsh@mellanox.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch net-next] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call()
2018-12-11 19:15 [Patch net-next] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call() Cong Wang
` (2 preceding siblings ...)
2018-12-12 11:31 ` Oz Shlomo
@ 2018-12-14 23:32 ` David Miller
3 siblings, 0 replies; 8+ messages in thread
From: David Miller @ 2018-12-14 23:32 UTC (permalink / raw)
To: xiyou.wangcong; +Cc: netdev, ozsh, jiri
From: Cong Wang <xiyou.wangcong@gmail.com>
Date: Tue, 11 Dec 2018 11:15:46 -0800
> After commit 69bd48404f25 ("net/sched: Remove egdev mechanism"),
> tc_setup_cb_call() is nearly identical to tcf_block_cb_call(),
> so we can just fold tcf_block_cb_call() into tc_setup_cb_call()
> and remove its unused parameter 'exts'.
>
> Fixes: 69bd48404f25 ("net/sched: Remove egdev mechanism")
> Cc: Oz Shlomo <ozsh@mellanox.com>
> Cc: Jiri Pirko <jiri@mellanox.com>
> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Applied.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-12-14 23:32 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-11 19:15 [Patch net-next] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call() Cong Wang
2018-12-11 21:44 ` Jakub Kicinski
2018-12-12 0:05 ` Cong Wang
2018-12-12 0:25 ` Jakub Kicinski
2018-12-12 0:32 ` Cong Wang
2018-12-12 6:51 ` Jiri Pirko
2018-12-12 11:31 ` Oz Shlomo
2018-12-14 23:32 ` David Miller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.