The first group of patches refactor the printout to breakup
excessively long print_route function and the last few implement
JSON and color output format for routes.

The one thing that maybe controversial is changing the default
json output format to be compact. The value of JSON is for programattic
output therefore pretty-printing should be an option.

One change I didn't make (but considered) is not calling fflush
after every single entry. When dumping millions of routes, letting
stdio buffer output would be a performance win.

Stephen Hemminger (16):
  iproute: refactor printing flags
  iproute: make printing icmpv6 a function
  iproute: make printing IPv4 cache flags a function
  iproute: refactor cacheinfo printing
  iproute: refactor metrics print
  iproute: refactor printing flow info
  iproute2: refactor newdst, gateway and via printing
  iproute: refactor multipath print
  iproute: refactor printing of interface
  iproute: whitespace fixes
  iproute: don't do assignment in condition
  iproute: make flush a separate function
  iproute: implement JSON and color output
  json: make pretty printing optional
  man: add documentation for json and pretty flags
  json: fix newline at end of array

 include/json_print.h |   2 +
 include/utils.h      |   4 +
 ip/ip.c              |   7 +-
 ip/iproute.c         | 943 ++++++++++++++++++++++++++++++---------------------
 lib/json_print.c     |   5 +-
 lib/json_writer.c    |   5 +
 man/man8/ip.8        |  18 +-
 man/man8/tc.8        |   3 +-
 tc/tc.c              |   3 +
 9 files changed, 598 insertions(+), 392 deletions(-)

-- 
2.15.1

Reply via email to