| bpftool-iter(8) | System Manager's Manual | bpftool-iter(8) |
نام (NAME)
bpftool-iter - ابزاری برای ایجاد تکرارکنندههای BPF (پیمایشگرها)
خلاصه دستور (SYNOPSIS)
bpftool [OPTIONS] iter COMMAND
OPTIONS := { { -j | --json } [{ -p | --pretty }] | { -d | --debug } }
COMMANDS := { pin | help }
دستورات تکرارکننده (ITER COMMANDS)
bpftool iter pin OBJ PATH [map MAP]
bpftool iter help
OBJ := /a/file/of/bpf_iter_target.o
MAP := { id MAP_ID | pinned FILE }
توضیحات (DESCRIPTION)
- bpftool iter pin OBJ PATH [map MAP]
- یک
تکرارکننده
BPF، پیمایش
در هسته روی
دادههای
خاص هسته
(مانند tasks، bpf_maps و
غیره) را با
یک برنامه bpf
که برای هر
شیء داده
هسته
فراخوانی
میشود
(مانند یک task،
یک bpf_map و غیره)
ترکیب
میکند.
فضای
کاربری
میتواند
خروجی
تکرارکننده
هسته را از
طریق
فراخوانی
سیستمی read()
بخواند.
دستور pin یک تکرارکننده bpf از OBJ ایجاد کرده و آن را به PATH سنجاق (pin) میکند. مسیر PATH باید در نقطه اتصال bpffs قرار داشته باشد. این مسیر نباید شامل نویسه نقطه ('.') باشد، زیرا این نویسه برای توسعههای آینده bpffs رزرو شده است.
تکرارکننده bpf برای عناصر نگاشت به یک پارامتر اضافی MAP نیاز دارد تا برنامه bpf بتواند روی عناصر آن نگاشت پیمایش کند. کاربر میتواند یک برنامه bpf در هسته داشته باشد تا به ازای هر عنصر نگاشت اجرا شده و بررسی، پالایش (فیلتر کردن)، تجمیع و غیره را بدون نیاز به کپی کردن دادهها به فضای کاربری انجام دهد.
کاربر سپس میتواند با دستور cat PATH خروجی تکرارکننده bpf را مشاهده کند.
- bpftool iter help
- چاپ پیام راهنمای کوتاه.
گزینهها (OPTIONS)
- -h, --help
- چاپ پیام راهنمای کوتاه (مشابه bpftool help).
- -V, --version
- چاپ شماره نسخه bpftool (مشابه bpftool version)، شماره نسخه libbpf در حال استفاده، و ویژگیهای اختیاری که هنگام کامپایل bpftool گنجانده شدهاند. ویژگیهای اختیاری شامل پیوند با LLVM یا libbfd برای ارائه دیزاسمبلر برای برنامههای JIT شده (bpftool prog dump jited) و استفاده از اسکلتهای BPF (برخی ویژگیها مانند bpftool prog profile یا نمایش pidهای مرتبط با شیءهای BPF ممکن است به آن متکی باشند) میشود.
- -j, --json
- تولید خروجی JSON. برای دستوراتی که نمیتوانند JSON تولید کنند، این گزینه هیچ تأثیری ندارد.
- -p, --pretty
- تولید خروجی JSON خوانا برای انسان. مستلزم -j است.
- -d, --debug
- چاپ تمام لاگهای موجود، حتی اطلاعات سطح اشکالزدایی (debug-level). این شامل لاگهای libbpf و همچنین وارسیکننده (verifier) هنگام تلاش برای بارگذاری برنامهها میشود.
مثالها (EXAMPLES)
# bpftool iter pin bpf_iter_netlink.o /sys/fs/bpf/my_netlink
ایجاد یک تکرارکننده bpf مبتنی بر فایل از bpf_iter_netlink.o و سنجاق کردن (pin) آن به /sys/fs/bpf/my_netlink
# bpftool iter pin bpf_iter_hashmap.o /sys/fs/bpf/my_hashmap map id 20
ایجاد یک تکرارکننده bpf مبتنی بر فایل از bpf_iter_hashmap.o و نگاشت با شناسه 20، و سنجاق کردن (pin) آن به /sys/fs/bpf/my_hashmap
همچنین ببینید (SEE ALSO)
bpf(2), bpf-helpers(7), bpftool(8), bpftool-btf(8), bpftool-cgroup(8), bpftool-feature(8), bpftool-gen(8), bpftool-link(8), bpftool-map(8), bpftool-net(8), bpftool-perf(8), bpftool-prog(8), bpftool-struct_ops(8), bpftool-token(8)