18c2ecf20Sopenharmony_ci================== 28c2ecf20Sopenharmony_cibpftool-struct_ops 38c2ecf20Sopenharmony_ci================== 48c2ecf20Sopenharmony_ci------------------------------------------------------------------------------- 58c2ecf20Sopenharmony_citool to register/unregister/introspect BPF struct_ops 68c2ecf20Sopenharmony_ci------------------------------------------------------------------------------- 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci:Manual section: 8 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciSYNOPSIS 118c2ecf20Sopenharmony_ci======== 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci **bpftool** [*OPTIONS*] **struct_ops** *COMMAND* 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci *OPTIONS* := { { **-j** | **--json** } [{ **-p** | **--pretty** }] } 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci *COMMANDS* := 188c2ecf20Sopenharmony_ci { **show** | **list** | **dump** | **register** | **unregister** | **help** } 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciSTRUCT_OPS COMMANDS 218c2ecf20Sopenharmony_ci=================== 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci| **bpftool** **struct_ops { show | list }** [*STRUCT_OPS_MAP*] 248c2ecf20Sopenharmony_ci| **bpftool** **struct_ops dump** [*STRUCT_OPS_MAP*] 258c2ecf20Sopenharmony_ci| **bpftool** **struct_ops register** *OBJ* 268c2ecf20Sopenharmony_ci| **bpftool** **struct_ops unregister** *STRUCT_OPS_MAP* 278c2ecf20Sopenharmony_ci| **bpftool** **struct_ops help** 288c2ecf20Sopenharmony_ci| 298c2ecf20Sopenharmony_ci| *STRUCT_OPS_MAP* := { **id** *STRUCT_OPS_MAP_ID* | **name** *STRUCT_OPS_MAP_NAME* } 308c2ecf20Sopenharmony_ci| *OBJ* := /a/file/of/bpf_struct_ops.o 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ciDESCRIPTION 348c2ecf20Sopenharmony_ci=========== 358c2ecf20Sopenharmony_ci **bpftool struct_ops { show | list }** [*STRUCT_OPS_MAP*] 368c2ecf20Sopenharmony_ci Show brief information about the struct_ops in the system. 378c2ecf20Sopenharmony_ci If *STRUCT_OPS_MAP* is specified, it shows information only 388c2ecf20Sopenharmony_ci for the given struct_ops. Otherwise, it lists all struct_ops 398c2ecf20Sopenharmony_ci currently existing in the system. 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci Output will start with struct_ops map ID, followed by its map 428c2ecf20Sopenharmony_ci name and its struct_ops's kernel type. 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci **bpftool struct_ops dump** [*STRUCT_OPS_MAP*] 458c2ecf20Sopenharmony_ci Dump details information about the struct_ops in the system. 468c2ecf20Sopenharmony_ci If *STRUCT_OPS_MAP* is specified, it dumps information only 478c2ecf20Sopenharmony_ci for the given struct_ops. Otherwise, it dumps all struct_ops 488c2ecf20Sopenharmony_ci currently existing in the system. 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci **bpftool struct_ops register** *OBJ* 518c2ecf20Sopenharmony_ci Register bpf struct_ops from *OBJ*. All struct_ops under 528c2ecf20Sopenharmony_ci the ELF section ".struct_ops" will be registered to 538c2ecf20Sopenharmony_ci its kernel subsystem. 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci **bpftool struct_ops unregister** *STRUCT_OPS_MAP* 568c2ecf20Sopenharmony_ci Unregister the *STRUCT_OPS_MAP* from the kernel subsystem. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci **bpftool struct_ops help** 598c2ecf20Sopenharmony_ci Print short help message. 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ciOPTIONS 628c2ecf20Sopenharmony_ci======= 638c2ecf20Sopenharmony_ci .. include:: common_options.rst 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ciEXAMPLES 668c2ecf20Sopenharmony_ci======== 678c2ecf20Sopenharmony_ci**# bpftool struct_ops show** 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci:: 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci 100: dctcp tcp_congestion_ops 728c2ecf20Sopenharmony_ci 105: cubic tcp_congestion_ops 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci**# bpftool struct_ops unregister id 105** 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ci:: 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ci Unregistered tcp_congestion_ops cubic id 105 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci**# bpftool struct_ops register bpf_cubic.o** 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ci:: 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci Registered tcp_congestion_ops cubic id 110 85