selftests/bpf: Refactor some net macros to bpf_tracing_net.h
authorYonghong Song <yhs@fb.com>
Tue, 23 Jun 2020 23:08:17 +0000 (16:08 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 25 Jun 2020 01:37:59 +0000 (18:37 -0700)
Refactor bpf_iter_ipv6_route.c and bpf_iter_netlink.c
so net macros, originally from various include/linux header
files, are moved to a new header file
bpf_tracing_net.h. The goal is to improve reuse so
networking tracing programs do not need to
copy these macros every time they use them.

Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Link: https://lore.kernel.org/bpf/20200623230817.3988962-1-yhs@fb.com
tools/testing/selftests/bpf/progs/bpf_iter_ipv6_route.c
tools/testing/selftests/bpf/progs/bpf_iter_netlink.c
tools/testing/selftests/bpf/progs/bpf_tracing_net.h [new file with mode: 0644]

index 93a452d1d136144e593c98ddb5179c0c9e729a81..d58d9f1642b549f67cefe96985e4adf12dfed4e3 100644 (file)
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 /* Copyright (c) 2020 Facebook */
 #include "bpf_iter.h"
+#include "bpf_tracing_net.h"
 #include <bpf/bpf_helpers.h>
 #include <bpf/bpf_tracing.h>
 
@@ -8,12 +9,6 @@ char _license[] SEC("license") = "GPL";
 
 extern bool CONFIG_IPV6_SUBTREES __kconfig __weak;
 
-#define RTF_GATEWAY            0x0002
-#define IFNAMSIZ               16
-#define fib_nh_gw_family       nh_common.nhc_gw_family
-#define fib_nh_gw6             nh_common.nhc_gw.ipv6
-#define fib_nh_dev             nh_common.nhc_dev
-
 SEC("iter/ipv6_route")
 int dump_ipv6_route(struct bpf_iter__ipv6_route *ctx)
 {
index fda5036fdf75e9084555fae3b732866bc7dbdb5d..cec82a419800d502ddb0d1fd4fd132e9dc929d5f 100644 (file)
@@ -1,14 +1,12 @@
 // SPDX-License-Identifier: GPL-2.0
 /* Copyright (c) 2020 Facebook */
 #include "bpf_iter.h"
+#include "bpf_tracing_net.h"
 #include <bpf/bpf_helpers.h>
 #include <bpf/bpf_tracing.h>
 
 char _license[] SEC("license") = "GPL";
 
-#define sk_rmem_alloc  sk_backlog.rmem_alloc
-#define sk_refcnt      __sk_common.skc_refcnt
-
 static inline struct inode *SOCK_INODE(struct socket *socket)
 {
        return &container_of(socket, struct socket_alloc, socket)->vfs_inode;
diff --git a/tools/testing/selftests/bpf/progs/bpf_tracing_net.h b/tools/testing/selftests/bpf/progs/bpf_tracing_net.h
new file mode 100644 (file)
index 0000000..1f38a10
--- /dev/null
@@ -0,0 +1,16 @@
+/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */
+#ifndef __BPF_TRACING_NET_H__
+#define __BPF_TRACING_NET_H__
+
+#define IFNAMSIZ               16
+
+#define RTF_GATEWAY            0x0002
+
+#define fib_nh_dev             nh_common.nhc_dev
+#define fib_nh_gw_family       nh_common.nhc_gw_family
+#define fib_nh_gw6             nh_common.nhc_gw.ipv6
+
+#define sk_rmem_alloc          sk_backlog.rmem_alloc
+#define sk_refcnt              __sk_common.skc_refcnt
+
+#endif