File: bpftool-iter.rst

package info (click to toggle)
linux 6.16.6-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,724,504 kB
  • sloc: ansic: 26,560,901; asm: 271,339; sh: 144,033; python: 72,469; makefile: 57,129; perl: 36,821; xml: 19,553; cpp: 5,820; yacc: 4,915; lex: 2,955; awk: 1,667; sed: 28; ruby: 25
file content (72 lines) | stat: -rw-r--r-- 2,092 bytes parent folder | download | duplicates (15)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
.. 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