tools, bpftool: Define attach_type_name array only once
authorTobias Klauser <tklauser@distanz.ch>
Wed, 24 Jun 2020 14:31:54 +0000 (16:31 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Thu, 25 Jun 2020 14:06:01 +0000 (16:06 +0200)
Define attach_type_name in common.c instead of main.h so it is only
defined once. This leads to a slight decrease in the binary size of
bpftool.

Before:

   text    data     bss     dec     hex filename
 399024   11168 1573160 1983352  1e4378 bpftool

After:

   text    data     bss     dec     hex filename
 398256   10880 1573160 1982296  1e3f58 bpftool

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Quentin Monnet <quentin@isovalent.com>
Link: https://lore.kernel.org/bpf/20200624143154.13145-1-tklauser@distanz.ch
tools/bpf/bpftool/common.c
tools/bpf/bpftool/main.h

index 6c864c3683fcf9839a7ac7dcf938176f5cadcf26..18e5604fe26075b54870c2a2a7be7b004c69779c 100644 (file)
 #define BPF_FS_MAGIC           0xcafe4a11
 #endif
 
+const char * const attach_type_name[__MAX_BPF_ATTACH_TYPE] = {
+       [BPF_CGROUP_INET_INGRESS]       = "ingress",
+       [BPF_CGROUP_INET_EGRESS]        = "egress",
+       [BPF_CGROUP_INET_SOCK_CREATE]   = "sock_create",
+       [BPF_CGROUP_SOCK_OPS]           = "sock_ops",
+       [BPF_CGROUP_DEVICE]             = "device",
+       [BPF_CGROUP_INET4_BIND]         = "bind4",
+       [BPF_CGROUP_INET6_BIND]         = "bind6",
+       [BPF_CGROUP_INET4_CONNECT]      = "connect4",
+       [BPF_CGROUP_INET6_CONNECT]      = "connect6",
+       [BPF_CGROUP_INET4_POST_BIND]    = "post_bind4",
+       [BPF_CGROUP_INET6_POST_BIND]    = "post_bind6",
+       [BPF_CGROUP_INET4_GETPEERNAME]  = "getpeername4",
+       [BPF_CGROUP_INET6_GETPEERNAME]  = "getpeername6",
+       [BPF_CGROUP_INET4_GETSOCKNAME]  = "getsockname4",
+       [BPF_CGROUP_INET6_GETSOCKNAME]  = "getsockname6",
+       [BPF_CGROUP_UDP4_SENDMSG]       = "sendmsg4",
+       [BPF_CGROUP_UDP6_SENDMSG]       = "sendmsg6",
+       [BPF_CGROUP_SYSCTL]             = "sysctl",
+       [BPF_CGROUP_UDP4_RECVMSG]       = "recvmsg4",
+       [BPF_CGROUP_UDP6_RECVMSG]       = "recvmsg6",
+       [BPF_CGROUP_GETSOCKOPT]         = "getsockopt",
+       [BPF_CGROUP_SETSOCKOPT]         = "setsockopt",
+
+       [BPF_SK_SKB_STREAM_PARSER]      = "sk_skb_stream_parser",
+       [BPF_SK_SKB_STREAM_VERDICT]     = "sk_skb_stream_verdict",
+       [BPF_SK_MSG_VERDICT]            = "sk_msg_verdict",
+       [BPF_LIRC_MODE2]                = "lirc_mode2",
+       [BPF_FLOW_DISSECTOR]            = "flow_dissector",
+       [BPF_TRACE_RAW_TP]              = "raw_tp",
+       [BPF_TRACE_FENTRY]              = "fentry",
+       [BPF_TRACE_FEXIT]               = "fexit",
+       [BPF_MODIFY_RETURN]             = "mod_ret",
+       [BPF_LSM_MAC]                   = "lsm_mac",
+};
+
 void p_err(const char *fmt, ...)
 {
        va_list ap;
index 269f1cb6aef5bb6768832830dc3e228944f9228b..78d34e860713b9f9340afbb75d2bf3046551c853 100644 (file)
 extern const char * const prog_type_name[];
 extern const size_t prog_type_name_size;
 
-static const char * const attach_type_name[__MAX_BPF_ATTACH_TYPE] = {
-       [BPF_CGROUP_INET_INGRESS] = "ingress",
-       [BPF_CGROUP_INET_EGRESS] = "egress",
-       [BPF_CGROUP_INET_SOCK_CREATE] = "sock_create",
-       [BPF_CGROUP_SOCK_OPS] = "sock_ops",
-       [BPF_CGROUP_DEVICE] = "device",
-       [BPF_CGROUP_INET4_BIND] = "bind4",
-       [BPF_CGROUP_INET6_BIND] = "bind6",
-       [BPF_CGROUP_INET4_CONNECT] = "connect4",
-       [BPF_CGROUP_INET6_CONNECT] = "connect6",
-       [BPF_CGROUP_INET4_POST_BIND] = "post_bind4",
-       [BPF_CGROUP_INET6_POST_BIND] = "post_bind6",
-       [BPF_CGROUP_INET4_GETPEERNAME] = "getpeername4",
-       [BPF_CGROUP_INET6_GETPEERNAME] = "getpeername6",
-       [BPF_CGROUP_INET4_GETSOCKNAME] = "getsockname4",
-       [BPF_CGROUP_INET6_GETSOCKNAME] = "getsockname6",
-       [BPF_CGROUP_UDP4_SENDMSG] = "sendmsg4",
-       [BPF_CGROUP_UDP6_SENDMSG] = "sendmsg6",
-       [BPF_CGROUP_SYSCTL] = "sysctl",
-       [BPF_CGROUP_UDP4_RECVMSG] = "recvmsg4",
-       [BPF_CGROUP_UDP6_RECVMSG] = "recvmsg6",
-       [BPF_CGROUP_GETSOCKOPT] = "getsockopt",
-       [BPF_CGROUP_SETSOCKOPT] = "setsockopt",
-
-       [BPF_SK_SKB_STREAM_PARSER] = "sk_skb_stream_parser",
-       [BPF_SK_SKB_STREAM_VERDICT] = "sk_skb_stream_verdict",
-       [BPF_SK_MSG_VERDICT] = "sk_msg_verdict",
-       [BPF_LIRC_MODE2] = "lirc_mode2",
-       [BPF_FLOW_DISSECTOR] = "flow_dissector",
-       [BPF_TRACE_RAW_TP] = "raw_tp",
-       [BPF_TRACE_FENTRY] = "fentry",
-       [BPF_TRACE_FEXIT] = "fexit",
-       [BPF_MODIFY_RETURN] = "mod_ret",
-       [BPF_LSM_MAC] = "lsm_mac",
-};
+extern const char * const attach_type_name[__MAX_BPF_ATTACH_TYPE];
 
 extern const char * const map_type_name[];
 extern const size_t map_type_name_size;