On Fri, 13 Jul 2018 14:29:42 -0700
Jakub Kicinski <jakub.kicin...@netronome.com> wrote:

> On Fri, 13 Jul 2018 16:48:28 -0400, David Ahern wrote:
> > On 7/9/18 3:48 PM, Stephen Hemminger wrote:  
> > > From: Stephen Hemminger <sthem...@microsoft.com>
> > > 
> > > Update core of TC command and library to do more JSON.
> > > Most of this patch set is about getting tc utility functions
> > > to be more friendly to the json_print infrastructure.
> > > 
> > > Stephen Hemminger (9):
> > >   tc: use JSON in error handling
> > >   tc: use const char in util
> > >   tc: convert stats print to json
> > >   tc/cbq: use sprint_rate
> > >   tc/util: remove print_rate
> > >   tc/util: remove unused print_size
> > >   tc/util: remove unused print_time
> > >   tc/util: add print helpers for JSON
> > >   tc/sfq: add json support
> > > 
> > >  tc/q_cbq.c   | 15 ++++-----
> > >  tc/q_sfq.c   | 65 +++++++++++++++++++++---------------
> > >  tc/tc.c      | 19 ++++++-----
> > >  tc/tc_util.c | 94 +++++++++++++++++++++++++++-------------------------
> > >  tc/tc_util.h | 11 +++---
> > >  5 files changed, 109 insertions(+), 95 deletions(-)
> > >     
> > 
> > I'd prefer some tc folks to take a look at the json output and verify
> > everything is good.
> > 
> > Jamal, Jiri, Jakub, Cong, others?
> > 
> > There is a second set with 30 patches as well.  
> 
> AFAIK the 31 patches supersede this set?  I only have tests that use
> JSON for MQ and RED qdiscs, and those work fine with the v2 applied!

This is what I used to test the trivial ones.  Some require more parameters.

#! /bin/sh

for q in cbq cbs choke clsact codel drr dsmark fifo \
        fq fq_codel gred hfsc hhf htb ingress mqprio \
        multiq netem pie prio qfq red rr sfb sfq tbf
do 
    echo -n $q ": "
    sudo tc qdisc add dev dummy0 root $q 2>/dev/null
    if [ $? -ne 0 ]; then
        echo "can not test"
    else
        /sbin/tc qdisc show dev dummy0 >$q.orig
        ./tc/tc qdisc show dev dummy0 >$q.new
        if cmp $q.new $q.orig; then
                echo -n "ok"
        else
                echo -n "differ"
        fi
        ./tc/tc -j qdisc show dev dummy0 >$q.json
        if python -mjson.tool <$q.json >/dev/null; then
                echo " json ok"
        else
                echo " json format error"
        fi

        sudo tc qdisc del dev dummy0 root
    fi
done


Reply via email to