| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- .. 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
|