From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl0-f43.google.com ([209.85.160.43]:36339 "EHLO mail-pl0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753525AbeCGBv5 (ORCPT ); Tue, 6 Mar 2018 20:51:57 -0500 Received: by mail-pl0-f43.google.com with SMTP id 61-v6so441746plf.3 for ; Tue, 06 Mar 2018 17:51:57 -0800 (PST) Date: Tue, 6 Mar 2018 17:51:49 -0800 From: Stephen Hemminger To: Jesus Sanchez-Palencia Cc: netdev@vger.kernel.org, jhs@mojatatu.com, xiyou.wangcong@gmail.com, jiri@resnulli.us, Vinicius Costa Gomes Subject: Re: [RFC v3 iproute2 3/3] tc: Add support for the TBS Qdisc Message-ID: <20180306175149.223614ab@xeon-e3> In-Reply-To: <20180307011608.24186-3-jesus.sanchez-palencia@intel.com> References: <20180307011608.24186-1-jesus.sanchez-palencia@intel.com> <20180307011608.24186-3-jesus.sanchez-palencia@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org List-ID: On Tue, 6 Mar 2018 17:16:08 -0800 Jesus Sanchez-Palencia wrote: > atic int tbs_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt) > +{ > + struct rtattr *tb[TCA_TBS_MAX+1]; > + struct tc_tbs_qopt *qopt; > + > + if (opt == NULL) > + return 0; > + > + parse_rtattr_nested(tb, TCA_TBS_MAX, opt); > + > + if (tb[TCA_TBS_PARMS] == NULL) > + return -1; > + > + qopt = RTA_DATA(tb[TCA_TBS_PARMS]); > + if (RTA_PAYLOAD(tb[TCA_TBS_PARMS]) < sizeof(*qopt)) > + return -1; > + > + fprintf(f, "clockid "); > + if (qopt->clockid == CLOCKID_INVALID) > + fprintf(f, "invalid "); > + else > + fprintf(f, "%d ", qopt->clockid); > + > + fprintf(f, "delta %d ", qopt->delta); > + fprintf(f, "offload %s ", (qopt->flags & TC_TBS_OFFLOAD_ON) ? > + "on" : "off"); > + fprintf(f, "sorting %s", (qopt->flags & TC_TBS_SORTING_ON) ? > + "on" : "off"); > + > + return 0; > +} All new print code in iproute2 should support JSON output. Look at other code using json_print.h for simple way to handle this.