• Arnaldo Carvalho de Melo's avatar
    perf beauty: Add a generator for IPPROTO_ socket's protocol constants · 9849eec3
    Arnaldo Carvalho de Melo authored
    It'll use tools/include copy of linux/in.h to generate a table to be
    used by tools, initially by the 'socket' and 'socketpair' beautifiers in
    'perf trace', but that could also be used to translate from a string
    constant to the integer value to be used in a eBPF or tracefs tracepoint
    filter.
    
    When used without any args it produces:
    
      $ tools/perf/trace/beauty/socket_ipproto.sh
      static const char *socket_ipproto[] = {
    	[0] = "IP",
    	[103] = "PIM",
    	[108] = "COMP",
    	[12] = "PUP",
    	[132] = "SCTP",
    	[136] = "UDPLITE",
    	[137] = "MPLS",
    	[17] = "UDP",
    	[1] = "ICMP",
    	[22] = "IDP",
    	[255] = "RAW",
    	[29] = "TP",
    	[2] = "IGMP",
    	[33] = "DCCP",
    	[41] = "IPV6",
    	[46] = "RSVP",
    	[47] = "GRE",
    	[4] = "IPIP",
    	[50] = "ESP",
    	[51] = "AH",
    	[6] = "TCP",
    	[8] = "EGP",
    	[92] = "MTP",
    	[94] = "BEETPH",
    	[98] = "ENCAP",
      };
      $
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: https://lkml.kernel.org/n/tip-v9rafqh3qn6b9kp9vfvj9f8s@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    9849eec3
socket_ipproto.sh 334 Bytes