bpftool-struct_ops(8) System Manager's Manual bpftool-struct_ops(8)

bpftool-struct_ops - ابزار ثبت و مدیریت ساختارهای عملیاتی struct_ops در BPF

bpftool [OPTIONS] struct_ops COMMAND

OPTIONS := { { -j | --json } [{ -p | --pretty }] | { -d | --debug } }

COMMANDS := { show | list | dump | register | unregister | help }

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

نمایش اطلاعات مختصر درباره struct_opsهای موجود در سیستم. اگر STRUCT_OPS_MAP مشخص شده باشد، اطلاعات تنها برای struct_ops داده‌شده نمایش داده می‌شود. در غیر این صورت، تمام struct_opsهای موجود در سیستم فهرست می‌شوند.

خروجی با شناسه نقشه struct_ops آغاز شده و به دنبال آن نام نقشه و نوع struct_ops در هسته می‌آید.

تخلیه اطلاعات تفصیلی درباره struct_opsهای موجود در سیستم. اگر STRUCT_OPS_MAP مشخص شده باشد، اطلاعات را تنها برای struct_ops داده‌شده تخلیه می‌کند. در غیر این صورت، تمام struct_opsهای موجود در سیستم را تخلیه می‌کند.
ثبت struct_opsهای bpf از OBJ. تمام struct_opsهای موجود در بخش ELF با نام ".struct_ops" و ".struct_ops.link" در زیرسیستم هسته مربوطه ثبت خواهند شد. برای هر struct_ops در بخش ".struct_ops.link"، یک پیوند (link) ایجاد خواهد شد. می‌توانید LINK_DIR را برای ارائه مسیر پوشه‌ای مشخص کنید که در آن این پیوندها با همان نام نقشه متناظرشان سنجاق (pin) می‌شوند.
لغو ثبت STRUCT_OPS_MAP از زیرسیستم هسته.
چاپ پیام راهنمای کوتاه.

چاپ پیام راهنمای کوتاه (مشابه bpftool help).
چاپ شماره نسخه bpftool (مشابه bpftool version)، شماره نسخه libbpf در حال استفاده، و ویژگی‌های اختیاری که هنگام کامپایل bpftool گنجانده شده‌اند. ویژگی‌های اختیاری شامل پیوند با LLVM یا libbfd برای ارائه دیزاسمبلر برای برنامه‌های JIT شده (bpftool prog dump jited) و استفاده از اسکلت‌های BPF (برخی ویژگی‌ها مانند bpftool prog profile یا نمایش pidهای مرتبط با شیءهای BPF ممکن است به آن متکی باشند) می‌شود.
تولید خروجی JSON. برای دستوراتی که نمی‌توانند JSON تولید کنند، این گزینه هیچ تأثیری ندارد.
تولید خروجی JSON خوانا برای انسان. مستلزم -j است.
چاپ تمام لاگ‌های موجود، حتی اطلاعات سطح اشکال‌زدایی (debug-level). این شامل لاگ‌های libbpf و همچنین وارسی‌کننده (verifier) هنگام تلاش برای بارگذاری برنامه‌ها می‌شود.

# 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

bpf(2), bpf-helpers(7), bpftool(8), bpftool-btf(8), bpftool-cgroup(8), bpftool-feature(8), bpftool-gen(8), bpftool-iter(8), bpftool-link(8), bpftool-map(8), bpftool-net(8), bpftool-perf(8), bpftool-prog(8), bpftool-token(8)