xref: /linux/tools/bpf/bpftool/Documentation/bpftool-struct_ops.rst (revision 95298d63c67673c654c08952672d016212b26054)
1==================
2bpftool-struct_ops
3==================
4-------------------------------------------------------------------------------
5tool to register/unregister/introspect BPF struct_ops
6-------------------------------------------------------------------------------
7
8:Manual section: 8
9
10SYNOPSIS
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
20STRUCT_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
33DESCRIPTION
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
61OPTIONS
62=======
63	-h, --help
64		  Print short generic help message (similar to **bpftool help**).
65
66	-V, --version
67		  Print version number (similar to **bpftool version**).
68
69	-j, --json
70		  Generate JSON output. For commands that cannot produce JSON, this
71		  option has no effect.
72
73	-p, --pretty
74		  Generate human-readable JSON output. Implies **-j**.
75
76	-d, --debug
77		  Print all logs available, even debug-level information. This
78		  includes logs from libbpf as well as from the verifier, when
79		  attempting to load programs.
80
81EXAMPLES
82========
83**# bpftool struct_ops show**
84
85::
86
87    100: dctcp           tcp_congestion_ops
88    105: cubic           tcp_congestion_ops
89
90**# bpftool struct_ops unregister id 105**
91
92::
93
94   Unregistered tcp_congestion_ops cubic id 105
95
96**# bpftool struct_ops register bpf_cubic.o**
97
98::
99
100   Registered tcp_congestion_ops cubic id 110
101
102
103SEE ALSO
104========
105	**bpf**\ (2),
106	**bpf-helpers**\ (7),
107	**bpftool**\ (8),
108	**bpftool-btf**\ (8),
109	**bpftool-cgroup**\ (8),
110	**bpftool-feature**\ (8),
111	**bpftool-gen**\ (8),
112	**bpftool-iter**\ (8),
113	**bpftool-link**\ (8),
114	**bpftool-map**\ (8),
115	**bpftool-net**\ (8),
116	**bpftool-perf**\ (8),
117	**bpftool-prog**\ (8)
118