Hi,
On 03/06/2018 05:51 PM, Stephen Hemminger wrote: > On Tue, 6 Mar 2018 17:16:08 -0800 > Jesus Sanchez-Palencia <jesus.sanchez-palen...@intel.com> 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. > Fixed, thanks. I'm assuming that only applies to print code from print_qopt() implementations. Please let me know if otherwise.