.. SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) ================== bpftool-struct_ops ================== ------------------------------------------------------------------------------- tool to register/unregister/introspect BPF struct_ops ------------------------------------------------------------------------------- :Manual section: 8 .. include:: substitutions.rst SYNOPSIS ======== **bpftool** [*OPTIONS*] **struct_ops** *COMMAND* *OPTIONS* := { |COMMON_OPTIONS| } *COMMANDS* := { **show** | **list** | **dump** | **register** | **unregister** | **help** } STRUCT_OPS COMMANDS =================== | **bpftool** **struct_ops { show | list }** [*STRUCT_OPS_MAP*] | **bpftool** **struct_ops dump** [*STRUCT_OPS_MAP*] | **bpftool** **struct_ops register** *OBJ* [*LINK_DIR*] | **bpftool** **struct_ops unregister** *STRUCT_OPS_MAP* | **bpftool** **struct_ops help** | | *STRUCT_OPS_MAP* := { **id** *STRUCT_OPS_MAP_ID* | **name** *STRUCT_OPS_MAP_NAME* } | *OBJ* := /a/file/of/bpf_struct_ops.o DESCRIPTION =========== **bpftool struct_ops { show | list }** [*STRUCT_OPS_MAP*] Show brief information about the struct_ops in the system. If *STRUCT_OPS_MAP* is specified, it shows information only for the given struct_ops. Otherwise, it lists all struct_ops currently existing in the system. Output will start with struct_ops map ID, followed by its map name and its struct_ops's kernel type. **bpftool struct_ops dump** [*STRUCT_OPS_MAP*] Dump details information about the struct_ops in the system. If *STRUCT_OPS_MAP* is specified, it dumps information only for the given struct_ops. Otherwise, it dumps all struct_ops currently existing in the system. **bpftool struct_ops register** *OBJ* [*LINK_DIR*] Register bpf struct_ops from *OBJ*. All struct_ops under the ELF section ".struct_ops" and ".struct_ops.link" will be registered to its kernel subsystem. For each struct_ops in the ".struct_ops.link" section, a link will be created. You can give *LINK_DIR* to provide a directory path where these links will be pinned with the same name as their corresponding map name. **bpftool struct_ops unregister** *STRUCT_OPS_MAP* Unregister the *STRUCT_OPS_MAP* from the kernel subsystem. **bpftool struct_ops help** Print short help message. OPTIONS ======= .. include:: common_options.rst EXAMPLES ======== **# bpftool struct_ops show** :: 100: dctcp tcp_congestion_ops 105: cubic tcp_congestion_ops **# bpftool struct_ops unregister id 105** :: Unregistered tcp_congestion_ops cubic id 105 **# bpftool struct_ops register bpf_cubic.o** :: Registered tcp_congestion_ops cubic id 110