From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: [PATCH v2 iproute2-next 25/31] tc/dsmark: implement JSON output Date: Tue, 10 Jul 2018 14:05:52 -0700 Message-ID: <20180710210558.20278-26-stephen@networkplumber.org> References: <20180710210558.20278-1-stephen@networkplumber.org> Cc: Stephen Hemminger , Stephen Hemminger To: netdev@vger.kernel.org Return-path: Received: from mail-pf0-f193.google.com ([209.85.192.193]:40843 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732384AbeGJVN5 (ORCPT ); Tue, 10 Jul 2018 17:13:57 -0400 Received: by mail-pf0-f193.google.com with SMTP id e13-v6so3544803pff.7 for ; Tue, 10 Jul 2018 14:13:04 -0700 (PDT) In-Reply-To: <20180710210558.20278-1-stephen@networkplumber.org> Sender: netdev-owner@vger.kernel.org List-ID: From: Stephen Hemminger Signed-off-by: Stephen Hemminger --- tc/q_dsmark.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/tc/q_dsmark.c b/tc/q_dsmark.c index d3e8292d777c..d2b9e3885377 100644 --- a/tc/q_dsmark.c +++ b/tc/q_dsmark.c @@ -131,28 +131,37 @@ static int dsmark_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt) if (tb[TCA_DSMARK_MASK]) { if (!RTA_PAYLOAD(tb[TCA_DSMARK_MASK])) fprintf(stderr, "dsmark: empty mask\n"); - else fprintf(f, "mask 0x%02x ", - rta_getattr_u8(tb[TCA_DSMARK_MASK])); + else + print_0xhex(PRINT_ANY, "mask", + "mask 0x%02x ", + rta_getattr_u8(tb[TCA_DSMARK_MASK])); } if (tb[TCA_DSMARK_VALUE]) { if (!RTA_PAYLOAD(tb[TCA_DSMARK_VALUE])) fprintf(stderr, "dsmark: empty value\n"); - else fprintf(f, "value 0x%02x ", - rta_getattr_u8(tb[TCA_DSMARK_VALUE])); + else + print_0xhex(PRINT_ANY, "value", + "value 0x%02x ", + rta_getattr_u8(tb[TCA_DSMARK_VALUE])); } if (tb[TCA_DSMARK_INDICES]) { if (RTA_PAYLOAD(tb[TCA_DSMARK_INDICES]) < sizeof(__u16)) fprintf(stderr, "dsmark: indices too short\n"); - else fprintf(f, "indices 0x%04x ", - rta_getattr_u16(tb[TCA_DSMARK_INDICES])); + else + print_0xhex(PRINT_ANY, "indcies", + "indices 0x%04x ", + rta_getattr_u16(tb[TCA_DSMARK_INDICES])); } if (tb[TCA_DSMARK_DEFAULT_INDEX]) { if (RTA_PAYLOAD(tb[TCA_DSMARK_DEFAULT_INDEX]) < sizeof(__u16)) fprintf(stderr, "dsmark: default_index too short\n"); - else fprintf(f, "default_index 0x%04x ", - rta_getattr_u16(tb[TCA_DSMARK_DEFAULT_INDEX])); + else + print_0xhex(PRINT_ANY, "default_index", + "default_index 0x%04x ", + rta_getattr_u16(tb[TCA_DSMARK_DEFAULT_INDEX])); } - if (tb[TCA_DSMARK_SET_TC_INDEX]) fprintf(f, "set_tc_index "); + if (tb[TCA_DSMARK_SET_TC_INDEX]) + print_null(PRINT_ANY, "set_tc_index", "set_tc_index ", NULL); return 0; } -- 2.18.0