12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- .. SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- ============
- bpftool-iter
- ============
- -------------------------------------------------------------------------------
- tool to create BPF iterators
- -------------------------------------------------------------------------------
- :Manual section: 8
- .. include:: substitutions.rst
- SYNOPSIS
- ========
- **bpftool** [*OPTIONS*] **iter** *COMMAND*
- *OPTIONS* := { |COMMON_OPTIONS| }
- *COMMANDS* := { **pin** | **help** }
- ITER COMMANDS
- ===================
- | **bpftool** **iter pin** *OBJ* *PATH* [**map** *MAP*]
- | **bpftool** **iter help**
- |
- | *OBJ* := /a/file/of/bpf_iter_target.o
- | *MAP* := { **id** *MAP_ID* | **pinned** *FILE* }
- DESCRIPTION
- ===========
- **bpftool iter pin** *OBJ* *PATH* [**map** *MAP*]
- A bpf iterator combines a kernel iterating of
- particular kernel data (e.g., tasks, bpf_maps, etc.)
- and a bpf program called for each kernel data object
- (e.g., one task, one bpf_map, etc.). User space can
- *read* kernel iterator output through *read()* syscall.
- The *pin* command creates a bpf iterator from *OBJ*,
- and pin it to *PATH*. The *PATH* should be located
- in *bpffs* mount. It must not contain a dot
- character ('.'), which is reserved for future extensions
- of *bpffs*.
- Map element bpf iterator requires an additional parameter
- *MAP* so bpf program can iterate over map elements for
- that map. User can have a bpf program in kernel to run
- with each map element, do checking, filtering, aggregation,
- etc. without copying data to user space.
- User can then *cat PATH* to see the bpf iterator output.
- **bpftool iter help**
- Print short help message.
- OPTIONS
- =======
- .. include:: common_options.rst
- EXAMPLES
- ========
- **# bpftool iter pin bpf_iter_netlink.o /sys/fs/bpf/my_netlink**
- ::
- Create a file-based bpf iterator from bpf_iter_netlink.o and pin it
- to /sys/fs/bpf/my_netlink
- **# bpftool iter pin bpf_iter_hashmap.o /sys/fs/bpf/my_hashmap map id 20**
- ::
- Create a file-based bpf iterator from bpf_iter_hashmap.o and map with
- id 20, and pin it to /sys/fs/bpf/my_hashmap
|