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

bpftool-link - ابزار بازرسی و دستکاری پیوندهای bpf

bpftool [OPTIONS] link COMMAND

OPTIONS := { { -j | --json } [{ -p | --pretty }] | { -d | --debug } | { -f | --bpffs } | { -n | --nomount } }

COMMANDS := { show | list | pin | help }

bpftool link { show | list } [LINK]
bpftool link pin LINK FILE
bpftool link detach LINK
bpftool link help
LINK := { id LINK_ID | pinned FILE }

نمایش اطلاعات درباره پیوندهای فعال. اگر LINK مشخص شده باشد، اطلاعات فقط برای پیوند داده‌شده نمایش می‌یابد، در غیر این صورت تمام پیوندهای فعال فعلی روی سیستم فهرست می‌شوند.

خروجی با شناسه پیوند (link ID) آغاز شده و به دنبال آن نوع پیوند و صفر یا چند صفت نام‌گذاری‌شده می‌آید که برخی از آن‌ها به نوع پیوند بستگی دارند.

از لینوکس 5.8 به بعد، ابزار bpftool قادر است اطلاعات مربوط به فرآیندهایی را که توصیف‌کننده‌های پرونده (FDs) باز روی پیوندهای BPF دارند شناسایی کند. روی این هسته‌ها، bpftool به طور خودکار این اطلاعات را نیز صادر می‌کند.

سنجاق کردن پیوند LINK به عنوان FILE.

نکته: FILE باید در یک نقطه سوارشدن (mount) مربوط به bpffs قرار داشته باشد. نباید حاوی نویسه نقطه ('.') باشد، که برای توسعه‌های آینده bpffs رزرو شده است.

جداسازی اجباری پیوند LINK. پیوند BPF و برنامه BPF زیربنایی آن معتبر باقی خواهند ماند، اما از قلاب (hook) مربوط به BPF جدا خواهند شد و پیوند BPF به یک وضعیت ازکارافتاده (defunct) منتقل می‌شود تا زمانی که آخرین توصیف‌کننده پرونده باز برای آن پیوند بسته شود.
چاپ پیام راهنمای کوتاه.

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

# bpftool link show

10: cgroup  prog 25
        cgroup_id 614  attach_type egress
        pids test_progs(223)

# bpftool --json --pretty link show

[{
        "type": "cgroup",
        "prog_id": 25,
        "cgroup_id": 614,
        "attach_type": "egress",
        "pids": [{
                "pid": 223,
                "comm": "test_progs"
            }
        ]
    }
]
# bpftool link pin id 10 /sys/fs/bpf/link
# ls -l /sys/fs/bpf/
-rw------- 1 root root 0 Apr 23 21:39 link

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