Loading...
1============
2bpftool-iter
3============
4-------------------------------------------------------------------------------
5tool to create BPF iterators
6-------------------------------------------------------------------------------
7
8:Manual section: 8
9
10SYNOPSIS
11========
12
13 **bpftool** [*OPTIONS*] **iter** *COMMAND*
14
15 *COMMANDS* := { **pin** | **help** }
16
17ITER COMMANDS
18===================
19
20| **bpftool** **iter pin** *OBJ* *PATH* [**map** *MAP*]
21| **bpftool** **iter help**
22|
23| *OBJ* := /a/file/of/bpf_iter_target.o
24| *MAP* := { **id** *MAP_ID* | **pinned** *FILE* }
25
26DESCRIPTION
27===========
28 **bpftool iter pin** *OBJ* *PATH* [**map** *MAP*]
29 A bpf iterator combines a kernel iterating of
30 particular kernel data (e.g., tasks, bpf_maps, etc.)
31 and a bpf program called for each kernel data object
32 (e.g., one task, one bpf_map, etc.). User space can
33 *read* kernel iterator output through *read()* syscall.
34
35 The *pin* command creates a bpf iterator from *OBJ*,
36 and pin it to *PATH*. The *PATH* should be located
37 in *bpffs* mount. It must not contain a dot
38 character ('.'), which is reserved for future extensions
39 of *bpffs*.
40
41 Map element bpf iterator requires an additional parameter
42 *MAP* so bpf program can iterate over map elements for
43 that map. User can have a bpf program in kernel to run
44 with each map element, do checking, filtering, aggregation,
45 etc. without copying data to user space.
46
47 User can then *cat PATH* to see the bpf iterator output.
48
49 **bpftool iter help**
50 Print short help message.
51
52OPTIONS
53=======
54 .. include:: common_options.rst
55
56EXAMPLES
57========
58**# bpftool iter pin bpf_iter_netlink.o /sys/fs/bpf/my_netlink**
59
60::
61
62 Create a file-based bpf iterator from bpf_iter_netlink.o and pin it
63 to /sys/fs/bpf/my_netlink
64
65**# bpftool iter pin bpf_iter_hashmap.o /sys/fs/bpf/my_hashmap map id 20**
66
67::
68
69 Create a file-based bpf iterator from bpf_iter_hashmap.o and map with
70 id 20, and pin it to /sys/fs/bpf/my_hashmap
1============
2bpftool-iter
3============
4-------------------------------------------------------------------------------
5tool to create BPF iterators
6-------------------------------------------------------------------------------
7
8:Manual section: 8
9
10SYNOPSIS
11========
12
13 **bpftool** [*OPTIONS*] **iter** *COMMAND*
14
15 *COMMANDS* := { **pin** | **help** }
16
17ITER COMMANDS
18===================
19
20| **bpftool** **iter pin** *OBJ* *PATH* [**map** *MAP*]
21| **bpftool** **iter help**
22|
23| *OBJ* := /a/file/of/bpf_iter_target.o
24| *MAP* := { **id** *MAP_ID* | **pinned** *FILE* }
25
26DESCRIPTION
27===========
28 **bpftool iter pin** *OBJ* *PATH* [**map** *MAP*]
29 A bpf iterator combines a kernel iterating of
30 particular kernel data (e.g., tasks, bpf_maps, etc.)
31 and a bpf program called for each kernel data object
32 (e.g., one task, one bpf_map, etc.). User space can
33 *read* kernel iterator output through *read()* syscall.
34
35 The *pin* command creates a bpf iterator from *OBJ*,
36 and pin it to *PATH*. The *PATH* should be located
37 in *bpffs* mount. It must not contain a dot
38 character ('.'), which is reserved for future extensions
39 of *bpffs*.
40
41 Map element bpf iterator requires an additional parameter
42 *MAP* so bpf program can iterate over map elements for
43 that map. User can have a bpf program in kernel to run
44 with each map element, do checking, filtering, aggregation,
45 etc. without copying data to user space.
46
47 User can then *cat PATH* to see the bpf iterator output.
48
49 **bpftool iter help**
50 Print short help message.
51
52OPTIONS
53=======
54 -h, --help
55 Print short generic help message (similar to **bpftool help**).
56
57 -V, --version
58 Print version number (similar to **bpftool version**).
59
60 -d, --debug
61 Print all logs available, even debug-level information. This
62 includes logs from libbpf as well as from the verifier, when
63 attempting to load programs.
64
65EXAMPLES
66========
67**# bpftool iter pin bpf_iter_netlink.o /sys/fs/bpf/my_netlink**
68
69::
70
71 Create a file-based bpf iterator from bpf_iter_netlink.o and pin it
72 to /sys/fs/bpf/my_netlink
73
74**# bpftool iter pin bpf_iter_hashmap.o /sys/fs/bpf/my_hashmap map id 20**
75
76::
77
78 Create a file-based bpf iterator from bpf_iter_hashmap.o and map with
79 id 20, and pin it to /sys/fs/bpf/my_hashmap
80
81SEE ALSO
82========
83 **bpf**\ (2),
84 **bpf-helpers**\ (7),
85 **bpftool**\ (8),
86 **bpftool-btf**\ (8),
87 **bpftool-cgroup**\ (8),
88 **bpftool-feature**\ (8),
89 **bpftool-gen**\ (8),
90 **bpftool-link**\ (8),
91 **bpftool-map**\ (8),
92 **bpftool-net**\ (8),
93 **bpftool-perf**\ (8),
94 **bpftool-prog**\ (8),
95 **bpftool-struct_ops**\ (8)