Linux 6.14-rc1
[linux.git] / tools / bpf / bpftool / Documentation / bpftool-link.rst
blob6f09d4405ed80298d8b13060b8353942c85fa9f9
1 .. SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ================
4 bpftool-link
5 ================
6 -------------------------------------------------------------------------------
7 tool for inspection and simple manipulation of eBPF links
8 -------------------------------------------------------------------------------
10 :Manual section: 8
12 .. include:: substitutions.rst
14 SYNOPSIS
15 ========
17 **bpftool** [*OPTIONS*] **link** *COMMAND*
19 *OPTIONS* := { |COMMON_OPTIONS| | { **-f** | **--bpffs** } | { **-n** | **--nomount** } }
21 *COMMANDS* := { **show** | **list** | **pin** | **help** }
23 LINK COMMANDS
24 =============
26 | **bpftool** **link { show | list }** [*LINK*]
27 | **bpftool** **link pin** *LINK* *FILE*
28 | **bpftool** **link detach** *LINK*
29 | **bpftool** **link help**
31 | *LINK* := { **id** *LINK_ID* | **pinned** *FILE* }
34 DESCRIPTION
35 ===========
36 bpftool link { show | list } [*LINK*]
37     Show information about active links. If *LINK* is specified show
38     information only about given link, otherwise list all links currently
39     active on the system.
41     Output will start with link ID followed by link type and zero or more named
42     attributes, some of which depend on type of link.
44     Since Linux 5.8 bpftool is able to discover information about processes
45     that hold open file descriptors (FDs) against BPF links. On such kernels
46     bpftool will automatically emit this information as well.
48 bpftool link pin *LINK* *FILE*
49     Pin link *LINK* as *FILE*.
51     Note: *FILE* must be located in *bpffs* mount. It must not contain a dot
52     character ('.'), which is reserved for future extensions of *bpffs*.
54 bpftool link detach *LINK*
55     Force-detach link *LINK*. BPF link and its underlying BPF program will stay
56     valid, but they will be detached from the respective BPF hook and BPF link
57     will transition into a defunct state until last open file descriptor for
58     that link is closed.
60 bpftool link help
61     Print short help message.
63 OPTIONS
64 =======
65     .. include:: common_options.rst
67     -f, --bpffs
68         When showing BPF links, show file names of pinned links.
70     -n, --nomount
71         Do not automatically attempt to mount any virtual file system (such as
72         tracefs or BPF virtual file system) when necessary.
74 EXAMPLES
75 ========
76 **# bpftool link show**
80     10: cgroup  prog 25
81             cgroup_id 614  attach_type egress
82             pids test_progs(223)
84 **# bpftool --json --pretty link show**
88     [{
89             "type": "cgroup",
90             "prog_id": 25,
91             "cgroup_id": 614,
92             "attach_type": "egress",
93             "pids": [{
94                     "pid": 223,
95                     "comm": "test_progs"
96                 }
97             ]
98         }
99     ]
102 | **# bpftool link pin id 10 /sys/fs/bpf/link**
103 | **# ls -l /sys/fs/bpf/**
107     -rw------- 1 root root 0 Apr 23 21:39 link