tools lib traceevent: Add support for IP address formats
authorDavid Ahern <dsahern@gmail.com>
Fri, 19 Dec 2014 02:11:11 +0000 (19:11 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 26 Jan 2015 15:04:41 +0000 (12:04 -0300)
commit3d199b5be53348bef84883013c484b414adf0a2e
treed28981b8121f3415ec0f4ff61925433a2d756904
parent4397bd2f90459d550deca7f6ba32c12e382d8b57
tools lib traceevent: Add support for IP address formats

Add helpers for the following kernel formats:
  %pi4 print an IPv4 address with leading zeros
  %pI4 print an IPv4 address without leading zeros
  %pi6 print an IPv6 address without colons
  %pI6 print an IPv6 address with colons
  %pI6c print an IPv6 address in compressed form with colons
  %pISpc print an IP address from a sockaddr

Allows these formats to be used in tracepoints.

Quite a bit of this is adapted from code in lib/vsprintf.c.

v4:
- fixed pI6c description in git commit message per Valdis' comment

v3:
- use of 'c' and 'p' requires 'I'

v2:
- pass ptr+1 to print_ip_arg per Namhyung's comments
- added field length checks to sockaddr function

Signed-off-by: David Ahern <dsahern@gmail.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1418955071-36241-1-git-send-email-dsahern@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/lib/traceevent/event-parse.c