Merge remote-tracking branch 'spi/for-5.14' into spi-linus
[linux-2.6-microblaze.git] / tools / bpf / bpftool / Documentation / bpftool-struct_ops.rst
1 ==================
2 bpftool-struct_ops
3 ==================
4 -------------------------------------------------------------------------------
5 tool to register/unregister/introspect BPF struct_ops
6 -------------------------------------------------------------------------------
7
8 :Manual section: 8
9
10 SYNOPSIS
11 ========
12
13         **bpftool** [*OPTIONS*] **struct_ops** *COMMAND*
14
15         *OPTIONS* := { { **-j** | **--json** } [{ **-p** | **--pretty** }] }
16
17         *COMMANDS* :=
18         { **show** | **list** | **dump** | **register** | **unregister** | **help** }
19
20 STRUCT_OPS COMMANDS
21 ===================
22
23 |       **bpftool** **struct_ops { show | list }** [*STRUCT_OPS_MAP*]
24 |       **bpftool** **struct_ops dump** [*STRUCT_OPS_MAP*]
25 |       **bpftool** **struct_ops register** *OBJ*
26 |       **bpftool** **struct_ops unregister** *STRUCT_OPS_MAP*
27 |       **bpftool** **struct_ops help**
28 |
29 |       *STRUCT_OPS_MAP* := { **id** *STRUCT_OPS_MAP_ID* | **name** *STRUCT_OPS_MAP_NAME* }
30 |       *OBJ* := /a/file/of/bpf_struct_ops.o
31
32
33 DESCRIPTION
34 ===========
35         **bpftool struct_ops { show | list }** [*STRUCT_OPS_MAP*]
36                   Show brief information about the struct_ops in the system.
37                   If *STRUCT_OPS_MAP* is specified, it shows information only
38                   for the given struct_ops.  Otherwise, it lists all struct_ops
39                   currently existing in the system.
40
41                   Output will start with struct_ops map ID, followed by its map
42                   name and its struct_ops's kernel type.
43
44         **bpftool struct_ops dump** [*STRUCT_OPS_MAP*]
45                   Dump details information about the struct_ops in the system.
46                   If *STRUCT_OPS_MAP* is specified, it dumps information only
47                   for the given struct_ops.  Otherwise, it dumps all struct_ops
48                   currently existing in the system.
49
50         **bpftool struct_ops register** *OBJ*
51                   Register bpf struct_ops from *OBJ*.  All struct_ops under
52                   the ELF section ".struct_ops" will be registered to
53                   its kernel subsystem.
54
55         **bpftool struct_ops unregister**  *STRUCT_OPS_MAP*
56                   Unregister the *STRUCT_OPS_MAP* from the kernel subsystem.
57
58         **bpftool struct_ops help**
59                   Print short help message.
60
61 OPTIONS
62 =======
63         .. include:: common_options.rst
64
65 EXAMPLES
66 ========
67 **# bpftool struct_ops show**
68
69 ::
70
71     100: dctcp           tcp_congestion_ops
72     105: cubic           tcp_congestion_ops
73
74 **# bpftool struct_ops unregister id 105**
75
76 ::
77
78    Unregistered tcp_congestion_ops cubic id 105
79
80 **# bpftool struct_ops register bpf_cubic.o**
81
82 ::
83
84    Registered tcp_congestion_ops cubic id 110