17464d013SAndrii Nakryiko================ 27464d013SAndrii Nakryikobpftool-link 37464d013SAndrii Nakryiko================ 47464d013SAndrii Nakryiko------------------------------------------------------------------------------- 57464d013SAndrii Nakryikotool for inspection and simple manipulation of eBPF links 67464d013SAndrii Nakryiko------------------------------------------------------------------------------- 77464d013SAndrii Nakryiko 87464d013SAndrii Nakryiko:Manual section: 8 97464d013SAndrii Nakryiko 107464d013SAndrii NakryikoSYNOPSIS 117464d013SAndrii Nakryiko======== 127464d013SAndrii Nakryiko 137464d013SAndrii Nakryiko **bpftool** [*OPTIONS*] **link** *COMMAND* 147464d013SAndrii Nakryiko 157464d013SAndrii Nakryiko *OPTIONS* := { { **-j** | **--json** } [{ **-p** | **--pretty** }] | { **-f** | **--bpffs** } } 167464d013SAndrii Nakryiko 177464d013SAndrii Nakryiko *COMMANDS* := { **show** | **list** | **pin** | **help** } 187464d013SAndrii Nakryiko 197464d013SAndrii NakryikoLINK COMMANDS 207464d013SAndrii Nakryiko============= 217464d013SAndrii Nakryiko 227464d013SAndrii Nakryiko| **bpftool** **link { show | list }** [*LINK*] 237464d013SAndrii Nakryiko| **bpftool** **link pin** *LINK* *FILE* 24*e85f99aaSAndrii Nakryiko| **bpftool** **link detach *LINK* 257464d013SAndrii Nakryiko| **bpftool** **link help** 267464d013SAndrii Nakryiko| 277464d013SAndrii Nakryiko| *LINK* := { **id** *LINK_ID* | **pinned** *FILE* } 287464d013SAndrii Nakryiko 297464d013SAndrii Nakryiko 307464d013SAndrii NakryikoDESCRIPTION 317464d013SAndrii Nakryiko=========== 327464d013SAndrii Nakryiko **bpftool link { show | list }** [*LINK*] 337464d013SAndrii Nakryiko Show information about active links. If *LINK* is 347464d013SAndrii Nakryiko specified show information only about given link, 357464d013SAndrii Nakryiko otherwise list all links currently active on the system. 367464d013SAndrii Nakryiko 377464d013SAndrii Nakryiko Output will start with link ID followed by link type and 387464d013SAndrii Nakryiko zero or more named attributes, some of which depend on type 397464d013SAndrii Nakryiko of link. 407464d013SAndrii Nakryiko 41075c7766SAndrii Nakryiko Since Linux 5.8 bpftool is able to discover information about 42075c7766SAndrii Nakryiko processes that hold open file descriptors (FDs) against BPF 43075c7766SAndrii Nakryiko links. On such kernels bpftool will automatically emit this 44075c7766SAndrii Nakryiko information as well. 45075c7766SAndrii Nakryiko 467464d013SAndrii Nakryiko **bpftool link pin** *LINK* *FILE* 477464d013SAndrii Nakryiko Pin link *LINK* as *FILE*. 487464d013SAndrii Nakryiko 497464d013SAndrii Nakryiko Note: *FILE* must be located in *bpffs* mount. It must not 507464d013SAndrii Nakryiko contain a dot character ('.'), which is reserved for future 517464d013SAndrii Nakryiko extensions of *bpffs*. 527464d013SAndrii Nakryiko 53*e85f99aaSAndrii Nakryiko **bpftool link detach** *LINK* 54*e85f99aaSAndrii Nakryiko Force-detach link *LINK*. BPF link and its underlying BPF 55*e85f99aaSAndrii Nakryiko program will stay valid, but they will be detached from the 56*e85f99aaSAndrii Nakryiko respective BPF hook and BPF link will transition into 57*e85f99aaSAndrii Nakryiko a defunct state until last open file descriptor for that 58*e85f99aaSAndrii Nakryiko link is closed. 59*e85f99aaSAndrii Nakryiko 607464d013SAndrii Nakryiko **bpftool link help** 617464d013SAndrii Nakryiko Print short help message. 627464d013SAndrii Nakryiko 637464d013SAndrii NakryikoOPTIONS 647464d013SAndrii Nakryiko======= 657464d013SAndrii Nakryiko -h, --help 667464d013SAndrii Nakryiko Print short generic help message (similar to **bpftool help**). 677464d013SAndrii Nakryiko 687464d013SAndrii Nakryiko -V, --version 697464d013SAndrii Nakryiko Print version number (similar to **bpftool version**). 707464d013SAndrii Nakryiko 717464d013SAndrii Nakryiko -j, --json 727464d013SAndrii Nakryiko Generate JSON output. For commands that cannot produce JSON, this 737464d013SAndrii Nakryiko option has no effect. 747464d013SAndrii Nakryiko 757464d013SAndrii Nakryiko -p, --pretty 767464d013SAndrii Nakryiko Generate human-readable JSON output. Implies **-j**. 777464d013SAndrii Nakryiko 787464d013SAndrii Nakryiko -f, --bpffs 797464d013SAndrii Nakryiko When showing BPF links, show file names of pinned 807464d013SAndrii Nakryiko links. 817464d013SAndrii Nakryiko 827464d013SAndrii Nakryiko -n, --nomount 837464d013SAndrii Nakryiko Do not automatically attempt to mount any virtual file system 847464d013SAndrii Nakryiko (such as tracefs or BPF virtual file system) when necessary. 857464d013SAndrii Nakryiko 867464d013SAndrii Nakryiko -d, --debug 877464d013SAndrii Nakryiko Print all logs available, even debug-level information. This 887464d013SAndrii Nakryiko includes logs from libbpf. 897464d013SAndrii Nakryiko 907464d013SAndrii NakryikoEXAMPLES 917464d013SAndrii Nakryiko======== 927464d013SAndrii Nakryiko**# bpftool link show** 937464d013SAndrii Nakryiko 947464d013SAndrii Nakryiko:: 957464d013SAndrii Nakryiko 967464d013SAndrii Nakryiko 10: cgroup prog 25 977464d013SAndrii Nakryiko cgroup_id 614 attach_type egress 98075c7766SAndrii Nakryiko pids test_progs(223) 997464d013SAndrii Nakryiko 1007464d013SAndrii Nakryiko**# bpftool --json --pretty link show** 1017464d013SAndrii Nakryiko 1027464d013SAndrii Nakryiko:: 1037464d013SAndrii Nakryiko 1047464d013SAndrii Nakryiko [{ 1057464d013SAndrii Nakryiko "type": "cgroup", 1067464d013SAndrii Nakryiko "prog_id": 25, 1077464d013SAndrii Nakryiko "cgroup_id": 614, 108075c7766SAndrii Nakryiko "attach_type": "egress", 109075c7766SAndrii Nakryiko "pids": [{ 110075c7766SAndrii Nakryiko "pid": 223, 111075c7766SAndrii Nakryiko "comm": "test_progs" 112075c7766SAndrii Nakryiko } 113075c7766SAndrii Nakryiko ] 1147464d013SAndrii Nakryiko } 1157464d013SAndrii Nakryiko ] 1167464d013SAndrii Nakryiko 1177464d013SAndrii Nakryiko| 1187464d013SAndrii Nakryiko| **# bpftool link pin id 10 /sys/fs/bpf/link** 1197464d013SAndrii Nakryiko| **# ls -l /sys/fs/bpf/** 1207464d013SAndrii Nakryiko 1217464d013SAndrii Nakryiko:: 1227464d013SAndrii Nakryiko 1237464d013SAndrii Nakryiko -rw------- 1 root root 0 Apr 23 21:39 link 1247464d013SAndrii Nakryiko 1257464d013SAndrii Nakryiko 1267464d013SAndrii NakryikoSEE ALSO 1277464d013SAndrii Nakryiko======== 1287464d013SAndrii Nakryiko **bpf**\ (2), 1297464d013SAndrii Nakryiko **bpf-helpers**\ (7), 1307464d013SAndrii Nakryiko **bpftool**\ (8), 131c8caa0bbSQuentin Monnet **bpftool-btf**\ (8), 1327464d013SAndrii Nakryiko **bpftool-cgroup**\ (8), 1337464d013SAndrii Nakryiko **bpftool-feature**\ (8), 134c8caa0bbSQuentin Monnet **bpftool-gen**\ (8), 135c8caa0bbSQuentin Monnet **bpftool-iter**\ (8), 136c8caa0bbSQuentin Monnet **bpftool-map**\ (8), 1377464d013SAndrii Nakryiko **bpftool-net**\ (8), 1387464d013SAndrii Nakryiko **bpftool-perf**\ (8), 139c8caa0bbSQuentin Monnet **bpftool-prog**\ (8), 140c8caa0bbSQuentin Monnet **bpftool-struct_ops**\ (8) 141