lkml.org 
[lkml]   [2014]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] tools lib traceevent: Add support for IP address formats
    On 12/18/14 2:45 PM, Valdis.Kletnieks@vt.edu wrote:
    > On Thu, 18 Dec 2014 08:10:43 -0700, David Ahern said:
    >> Adds helper for 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 with colons
    >> %pISpc print an IP address from a sockaddr
    >
    > The description for %pI6C in the changelog doesn't match the code:
    >
    >> + * %pI6c print an IPv6 address in compressed form with colons
    >
    > Threw me for a loop for a while trying to figure out how pI6 and pI6c were
    > different, till I read the code...
    >

    Per Documentation/printk-formats.txt:

    %pI6 0001:0002:0003:0004:0005:0006:0007:0008
    %pi6 00010002000300040005000600070008
    %pI6c 1:2:3:4:5:6:7:8

    For printing IPv6 network-order 16-bit hex addresses. The 'I6' and 'i6'
    specifiers result in a printed address with ('I6') or without ('i6')
    colon-separators. Leading zeros are always used.

    The additional 'c' specifier can be used with the 'I' specifier to
    print a compressed IPv6 address as described by
    http://tools.ietf.org/html/rfc5952



    I do see two mistakes in my patch -- use of 'c' and 'S' requires 'I'.
    After that the code that prints pI6c is a slightly modified version of
    what is in lib/vsprintf.c so the output between in-kernel tracing (cat
    trace_pipe) should match perf-script output. Compare
    ip6_compressed_string() in lib/vsprintf.c to print_ip6c_addr() in this
    patch.

    Are you seeing something different?

    David



    \
     
     \ /
      Last update: 2014-12-18 23:41    [W:2.433 / U:0.916 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site