On Fri, 19 Oct 2018 17:42:55 +0200 Phil Sutter <[email protected]> wrote: > Value of 'default' is assumed to be hexadecimal when parsing, so > consequently it should be printed in hex as well. This is a regression > introduced when adding JSON output. > > Fixes: f354fa6aa5ff0 ("tc: jsonify htb qdisc") > Signed-off-by: Phil Sutter <[email protected]> > --- > tc/q_htb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tc/q_htb.c b/tc/q_htb.c > index c8b2941d945b7..c69485db8ef7d 100644 > --- a/tc/q_htb.c > +++ b/tc/q_htb.c > @@ -332,7 +332,7 @@ static int htb_print_opt(struct qdisc_util *qu, FILE *f, > struct rtattr *opt) > if (RTA_PAYLOAD(tb[TCA_HTB_INIT]) < sizeof(*gopt)) return -1; > > print_int(PRINT_ANY, "r2q", "r2q %d", gopt->rate2quantum); > - print_uint(PRINT_ANY, "default", " default %u", gopt->defcls); > + print_uint(PRINT_ANY, "default", " default %x", gopt->defcls); > print_uint(PRINT_ANY, "direct_packets_stat", > " direct_packets_stat %u", gopt->direct_pkts); > if (show_details) {
The output should be in hex. Because you used print_uint it will still be in decimal in the JSON output. The correct fix here is to use print_0xhex instead. Please fix that, test it, and resubmit.
