Home
last modified time | relevance | path

Searched refs:programs (Results 1 – 25 of 318) sorted by relevance

12345678910>>...13

/linux/Documentation/bpf/libbpf/
H A Dlibbpf_overview.rst9 heavy lifting of loading, verifying, and attaching BPF programs to various
15 * Provides high-level and low-level APIs for user space programs to interact
16 with BPF programs. The low-level APIs wrap all the bpf system call
18 over the interactions between user space and BPF programs.
20 The skeleton file simplifies the process for the user space programs to access
21 global variables and work with BPF programs.
25 BPF programs that can be compiled once and run across different kernel
35 A BPF application consists of one or more BPF programs (either cooperating or
37 variables are shared between all BPF programs, which allows them to cooperate on
38 a common set of data. libbpf provides APIs that user space programs can use to
[all …]
/linux/samples/bpf/
H A Dtcp_bpf.readme2 programs. These programs attach to a cgroupv2. The following commands create
12 (attach) one of the tcp_*_kern.o programs:
19 The tcp_*_kern.o programs use special print functions to print logging
23 cgroupv2 to which the BPF programs are attached (i.e. under bash shell
/linux/Documentation/bpf/
H A Dbpf_design_QA.rst32 A: Because BPF programs are designed to run in the linux kernel
49 Q: Can BPF programs access instruction pointer or return address?
53 Q: Can BPF programs access stack pointer ?
69 BPF programs and programs call kernel helpers with zero overhead,
71 for JITed BPF programs that are indistinguishable from
112 versions will accept all bpf programs that were accepted by
155 workaround would be acceptable. Turned out that programs lose performance
174 programs for 32-bit architectures.
198 A: YES. BPF instructions, arguments to BPF programs, set of helper
200 of ABI. However there is one specific exception to tracing programs
[all …]
H A Ddrgn.rst23 `bpf_inspect.py`_ is a tool intended to inspect BPF programs and maps. It can
24 iterate over all programs and maps in the system and print basic information
27 The main use-case `bpf_inspect.py`_ covers is to show BPF programs of types
29 programs via ``freplace``/``fentry``/``fexit`` mechanisms, since there is no
35 List BPF programs (full names are obtained from BTF)::
49 Find BPF programs attached to BPF program ``test_pkt_access``::
62 are multiple other tracing and ext programs attached to functions in
80 drgn script to list BPF programs or maps and their properties
90 prog (p) list BPF programs
97 information about BPF programs, maps and other objects.
H A Dbpf_prog_run.rst4 Running BPF programs from userspace
7 This document describes the ``BPF_PROG_RUN`` facility for running BPF programs
20 can be used to unit test BPF programs against user-supplied context objects, and
21 as way to explicitly execute programs in the kernel for their side effects. The
25 The ``BPF_PROG_RUN`` command can be used to execute BPF programs of the
46 execute the program and return the results to userspace. Note that programs will
49 returned to userspace. A separate mode for live execution of XDP programs is
52 Running XDP programs in "live frame mode"
55 The ``BPF_PROG_RUN`` command has a separate mode for running live XDP programs,
56 which can be used to execute XDP programs in a way where packets will actually
[all …]
H A Dbpf_licensing.rst61 Using BPF programs in the Linux kernel
75 modules. BPF programs can be proprietary if they don't use "GPL only" BPF
83 and struct_ops BPF programs are implicitly calling "GPL only" functions.
84 The same restriction applies to BPF programs that call kernel functions
87 Packaging BPF programs with user space applications
90 Generally, proprietary-licensed applications and GPL licensed BPF programs
92 separate executable processes. This applies to both cBPF and eBPF programs.
H A Dprog_lsm.rst8 These BPF programs allow runtime instrumentation of the LSM hooks by privileged
23 eBPF programs that use Documentation/bpf/btf.rst do not need to include kernel
51 build environment matches the environment the BPF programs are
54 The ``vmlinux.h`` can then simply be included in the BPF programs without
57 The eBPF programs can be declared using the``BPF_PROG``
98 eBPF programs can be loaded with the :manpage:`bpf(2)` syscall's
120 The LSM allows attachment of eBPF programs as LSM hooks using :manpage:`bpf(2)`
H A Dprog_sk_lookup.rst40 Multiple programs can be attached to one network namespace. Programs will be
46 The attached BPF sk_lookup programs run whenever the transport layer needs to
52 The attached BPF programs must return with either ``SK_PASS`` or ``SK_DROP``
65 When multiple programs are attached, the end result is determined from return
66 codes of all the programs according to the following rules:
74 4. If all programs returned ``SK_PASS`` and none of them selected a socket,
H A Dmap_sockmap.rst28 These maps may have BPF programs attached to them, specifically a parser program
36 ``sk_psock`` inherits the programs that are attached to the map.
40 in having multiple parser programs the update will return an EBUSY error.
42 The supported programs to attach to these maps are:
55 programs to the same map.
57 The attach types for the map programs are:
65 programs: ``bpf_msg_apply_bytes()`` and ``bpf_msg_cork_bytes()``. With
66 ``bpf_msg_apply_bytes()`` BPF programs can tell the infrastructure how many
73 available to ``BPF_PROG_TYPE_SK_MSG`` BPF programs to pull in data and set the
89 This helper is used in programs implementing policies at the socket level. If
[all …]
H A Dmap_cgroup_storage.rst9 storage. It is only available with ``CONFIG_CGROUP_BPF``, and to programs that
10 attach to cgroups; the programs are made available by the same Kconfig. The
39 ``struct bpf_cgroup_storage_key``, then programs of different attach types
49 can be accessed by multiple programs across different CPUs, and user should
140 program, sharing of this cgroup's storage with other BPF programs were
143 Since Linux 5.9, storage can be shared by multiple programs. When a program is
/linux/tools/bpf/bpftool/Documentation/
H A Dbpftool-net.rst45 For programs attached to a particular cgroup, e.g.,
49 msg, reuseport} and lwt/seg6 bpf programs, users should consult other
54 flow_dissector and finally netfilter programs. Both xdp programs and
55 tcx/netkit/tc programs are ordered based on ifindex number. If multiple bpf
56 programs attached to the same networking device through **tc**, the order
57 will be first all bpf programs attached to tcx, netkit, then tc classes,
58 then all bpf programs attached to non clsact qdiscs, and finally all bpf
59 programs attached to root and clsact qdisc.
H A Dbpftool-prog.rst71 Show information about loaded programs. If *PROG* is specified show
72 information only about given programs, otherwise list all programs
74 match several programs which will all be shown.
79 Since Linux 5.1 the kernel can collect statistics on BPF programs (such as
87 that hold open file descriptors (FDs) against BPF programs. On such kernels
91 Dump eBPF instructions of the programs from the kernel. By default, eBPF
96 In case of **tag** or **name**, *PROG* may match several programs which
107 If the programs have line_info available, the source line will be
133 loadall** pins all programs from the *OBJ* under *PATH* directory. **type**
171 stop printing. BPF programs can write to this trace pipe at runtime with
[all …]
H A Dbpftool-cgroup.rst53 List all programs attached to the cgroup *CGROUP*.
58 If **effective** is specified retrieve effective programs that will execute
63 Iterate over all cgroups in *CGROUP_ROOT* and list all attached programs.
70 If **effective** is specified retrieve effective programs that will execute
87 Multiple programs are allowed to be attached to a cgroup with **multi**.
135 Show file names of pinned programs.
H A Dbpftool-gen.rst56 shorten and simplify code to load and work with BPF programs from userspace
64 In addition to simple and reliable access to maps and programs, skeleton
66 within BPF object. When requested, supported BPF programs will be
68 user in pre-allocated fields in skeleton struct. For BPF programs that
73 support to detach programs and free up resources.
91 keep working with specific maps, programs, etc.
106 This function creates maps, loads and verifies BPF programs, initializes
115 already loaded BPF object. Only BPF programs of types supported by libbpf
117 links instantiated. For other BPF programs, user can manually create a
123 Detach and unload BPF programs, free up all the resources used by
[all …]
H A Dcommon_options.rst10 libbfd to provide the disassembler for JIT-ted programs (**bpftool prog
23 from libbpf as well as from the verifier, when attempting to load programs.
/linux/kernel/bpf/preload/
H A DKconfig15 This builds kernel module with several embedded BPF programs that are
17 useful in debugging and introspection of BPF programs and maps.
24 This builds bpf_preload kernel module with embedded BPF programs for
/linux/Documentation/trace/
H A Duser_events.rst22 Typically programs will register a set of events that they wish to expose to
96 allows programs to prevent themselves from being blocked when their event
103 tracepoint with a new unique id. Recording programs need to scan tracefs for
108 a hex string. Recording programs should ensure the tracepoint name starts with
148 User programs are encouraged to use clearly sized types like u32.
153 This allows user programs to describe custom structs out to tools, if required.
173 event (in both user and kernel space). User programs should use a separate file
177 to the event. If programs do not want auto-delete, they must use the
230 in realtime. This allows user programs to only incur the cost of the write() or
234 tools attach/detach from the event. User programs simply check if the bit is set
[all …]
/linux/drivers/hid/bpf/
H A DKconfig10 This option allows to support eBPF programs on the HID subsystem.
11 eBPF programs can fix HID devices in a lighter way than a full
/linux/kernel/bpf/
H A DKconfig39 Enable the bpf() system call that allows to manipulate BPF programs
48 BPF programs are normally handled by a BPF interpreter. This option
51 programs.
99 Enables instrumentation of the security hooks with BPF programs for
/linux/Documentation/networking/
H A Datm.rst8 several user-mode programs are required to assist the kernel. These
9 programs and related material can be found via the ATM on Linux Web
/linux/drivers/media/radio/wl128x/
H A DKconfig12 In order to control your radio card, you will need to use programs
14 this API and pointers to "v4l2" programs may be found at
/linux/drivers/media/test-drivers/vidtv/
H A Dvidtv_channel.c419 struct vidtv_psi_table_pat_program *programs = NULL; in vidtv_channel_si_init() local
432 programs = vidtv_channel_pat_prog_cat_into_new(m); in vidtv_channel_si_init()
433 if (!programs) in vidtv_channel_si_init()
458 programs->service_id); in vidtv_channel_si_init()
463 vidtv_psi_pat_program_assign(m->si.pat, programs); in vidtv_channel_si_init()
495 vidtv_psi_pat_program_destroy(programs); in vidtv_channel_si_init()
/linux/Documentation/bpf/standardization/
H A Dabi.rst19 * R0: return value from function calls, and exit value for BPF programs
24 R0 - R5 are scratch registers and BPF programs needs to spill/fill them if
/linux/tools/testing/selftests/hid/
H A Dhid_bpf.c73 static void load_programs(const struct test_program programs[], in load_programs() argument
95 programs[i].name); in load_programs()
96 ASSERT_OK_PTR(prog) TH_LOG("can not find program by name '%s'", programs[i].name); in load_programs()
101 programs[i].name + 4); in load_programs()
103 programs[i].name + 4); in load_programs()
126 programs[i].name + 4); in load_programs()
128 programs[i].name + 4); in load_programs()
132 programs[i].name + 4); in load_programs()
/linux/Documentation/ABI/testing/
H A Dsysfs-devices16 Or rely on the uevent messages to notify programs of
22 programs must be able to handle such occurrences.

12345678910>>...13