From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Ahern Subject: Re: [PATCHv2 net-next 09/15] net: sch: api: add extack support in qdisc_get_rtab Date: Thu, 14 Dec 2017 13:02:26 -0700 Message-ID: <2527cab9-e952-9f69-4f06-06f23ec4a212@gmail.com> References: <20171214183905.23066-1-aring@mojatatu.com> <20171214183905.23066-10-aring@mojatatu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: xiyou.wangcong@gmail.com, jiri@resnulli.us, davem@davemloft.net, netdev@vger.kernel.org, kernel@mojatatu.com, David Ahern To: Alexander Aring , jhs@mojatatu.com Return-path: Received: from mail-pg0-f68.google.com ([74.125.83.68]:39289 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752152AbdLNUC3 (ORCPT ); Thu, 14 Dec 2017 15:02:29 -0500 Received: by mail-pg0-f68.google.com with SMTP id w7so4130342pgv.6 for ; Thu, 14 Dec 2017 12:02:29 -0800 (PST) In-Reply-To: <20171214183905.23066-10-aring@mojatatu.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 12/14/17 11:38 AM, Alexander Aring wrote: > diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c > index 816e8b0c2609..24b286d763b7 100644 > --- a/net/sched/sch_api.c > +++ b/net/sched/sch_api.c > @@ -393,13 +393,16 @@ static __u8 __detect_linklayer(struct tc_ratespec *r, __u32 *rtab) > static struct qdisc_rate_table *qdisc_rtab_list; > > struct qdisc_rate_table *qdisc_get_rtab(struct tc_ratespec *r, > - struct nlattr *tab) > + struct nlattr *tab, > + struct netlink_ext_ack *extack) > { > struct qdisc_rate_table *rtab; > > if (tab == NULL || r->rate == 0 || r->cell_log == 0 || > - nla_len(tab) != TC_RTAB_SIZE) > + nla_len(tab) != TC_RTAB_SIZE) { > + NL_SET_ERR_MSG(extack, "Invalid rtab parameters for searching"); What is rtab short for? Can you expand that to something meaningful to the user? > return NULL; > + } > > for (rtab = qdisc_rtab_list; rtab; rtab = rtab->next) { > if (!memcmp(&rtab->rate, r, sizeof(struct tc_ratespec)) && > @@ -418,6 +421,8 @@ struct qdisc_rate_table *qdisc_get_rtab(struct tc_ratespec *r, > r->linklayer = __detect_linklayer(r, rtab->data); > rtab->next = qdisc_rtab_list; > qdisc_rtab_list = rtab; > + } else { > + NL_SET_ERR_MSG(extack, "Failed to allocate new qdisc rtab"); ditto here