Hi, On Wed, Jan 17, 2018 at 8:25 PM, Jakub Kicinski <kubak...@wp.pl> wrote: > On Wed, 17 Jan 2018 17:40:26 -0500, Alexander Aring wrote: >> diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c >> index 9f88107c29c5..e864ad523800 100644 >> --- a/net/sched/cls_api.c >> +++ b/net/sched/cls_api.c >> @@ -1566,21 +1566,26 @@ static int tc_exts_setup_cb_egdev_call(struct >> tcf_exts *exts, >> } >> >> int tc_setup_cb_call(struct tcf_block *block, struct tcf_exts *exts, >> - enum tc_setup_type type, void *type_data, bool err_stop) >> + enum tc_setup_type type, void *type_data, bool err_stop, >> + struct netlink_ext_ack *extack) >> { >> int ok_count; >> int ret; >> >> ret = tcf_block_cb_call(block, type, type_data, err_stop); >> - if (ret < 0) >> + if (ret < 0) { >> + NL_SET_ERR_MSG(extack, "Failed to initialize tcf block"); > > This has nothing to do with block init. > >> return ret; >> + } >> ok_count = ret; >> >> if (!exts) >> return ok_count; >> ret = tc_exts_setup_cb_egdev_call(exts, type, type_data, err_stop); >> - if (ret < 0) >> + if (ret < 0) { >> + NL_SET_ERR_MSG(extack, "Failed to initialize tcf block >> extensions"); > > Ditto, plus this is about redirections to other devices (hence > eg[ress ]dev). exts part is an internal detail. >
Ok, I am going to remove this patch. - Alex