/linux-6.14.4/Documentation/bpf/libbpf/ |
D | libbpf_overview.rst | 9 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-6.14.4/Documentation/bpf/ |
D | bpf_design_QA.rst | 32 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 …]
|
D | bpf_prog_run.rst | 4 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 …]
|
D | prog_sk_lookup.rst | 40 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,
|
D | bpf_licensing.rst | 61 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.
|
D | prog_lsm.rst | 5 LSM BPF Programs 8 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)`
|
D | drgn.rst | 23 `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.
|
D | map_sockmap.rst | 28 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 …]
|
D | map_cgroup_storage.rst | 9 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-6.14.4/Documentation/trace/ |
D | user_events.rst | 13 Programs can view status of the events via 17 Programs can also use /sys/kernel/tracing/dynamic_events to register and 22 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 [all …]
|
/linux-6.14.4/samples/bpf/ |
D | tcp_bpf.readme | 2 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-6.14.4/tools/bpf/bpftool/Documentation/ |
D | bpftool-net.rst | 45 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.
|
D | bpftool-prog.rst | 71 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 …]
|
D | bpftool-gen.rst | 56 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 …]
|
/linux-6.14.4/drivers/media/test-drivers/vidtv/ |
D | vidtv_channel.c | 11 * Their programs will be concatenated to populate the PAT 262 /* Concatenate the programs */ in vidtv_channel_pat_prog_cat_into_new() 278 "No programs found for channel %s\n", in vidtv_channel_pat_prog_cat_into_new() 419 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() 462 /* assemble all programs and assign to PAT */ 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-6.14.4/kernel/bpf/preload/ |
D | Kconfig | 15 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-6.14.4/kernel/bpf/ |
D | Kconfig | 39 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-6.14.4/drivers/media/radio/ |
D | Kconfig | 24 In order to control your radio card, you will need to use programs 26 this API and pointers to "v4l" programs may be found at 54 In order to control your radio card, you will need to use programs 56 this API and pointers to "v4l" programs may be found at 71 In order to control your radio card, you will need to use programs 73 this API and pointers to "v4l" programs may be found at 91 In order to control your radio card, you will need to use programs 93 this API and pointers to "v4l2" programs may be found at 153 In order to control your radio card, you will need to use programs 155 this API and pointers to "v4l2" programs may be found at
|
/linux-6.14.4/Documentation/hid/ |
D | hid-bpf.rst | 53 Note: distribution of eBPF programs and their inclusion in the kernel is not 132 In-tree HID-BPF programs and ``udev-hid-bpf`` 149 Available types of programs 153 declare our programs. 189 User API data structures available in programs: 195 Available API that can be used in all HID-BPF struct_ops programs: 201 Available API that can be used in syscall HID-BPF programs or in sleepable HID-BPF struct_ops progr… 249 programs can be attached to the same device. If a HID-BPF struct_ops has a 258 Note that if there are multiple programs using the ``BPF_F_BEFORE`` flag, 264 Whenever a matching event is raised, the eBPF programs are called one after the other [all …]
|
/linux-6.14.4/tools/testing/selftests/bpf/prog_tests/ |
D | cgroup_attach_autodetach.c | 43 /* create a cgroup, attach two programs and remember their ids */ in serial_test_cgroup_attach_autodetach() 58 /* make sure that programs are attached and run some traffic */ in serial_test_cgroup_attach_autodetach() 71 /* close programs and cgroup fd */ in serial_test_cgroup_attach_autodetach() 80 /* leave the cgroup and remove it. don't detach programs */ in serial_test_cgroup_attach_autodetach()
|
/linux-6.14.4/include/uapi/linux/ |
D | fanotify.h | 51 /* Deprecated - do not use this in programs and do not add new flags here! */ 74 /* Deprecated - do not use this in programs and do not add new flags here! */ 104 /* Deprecated - do not use this in programs and do not add new flags here! */ 114 /* Deprecated - do not use this in programs and do not add new flags here! */ 123 /* Deprecated - do not use this in programs and do not add new flags here! */ 127 /* Deprecated - do not use this in programs and do not add new flags here! */
|
/linux-6.14.4/include/linux/ |
D | hid_bpf.h | 17 * it might break existing out of the tree bpf programs. 21 * struct hid_bpf_ctx - User accessible data for all HID programs 35 * Programs can get the available valid size in data by fetching this field. 36 * Programs can also change this value by returning a positive number in the 41 * once all BPF programs have been run). 85 * programs to a HID device
|
/linux-6.14.4/Documentation/ABI/ |
D | README | 4 interfaces should be used by userspace programs in different ways. 14 defined to be stable. Userspace programs are free to use these 26 programs can start to rely on these interfaces, but they must be 28 be marked stable. Programs that use these interfaces are
|
/linux-6.14.4/Documentation/admin-guide/ |
D | serial-console.rst | 125 Programs that want to do something with the virtual console usually 127 and your console is NOT the virtual console some programs will fail. 128 Those are programs that want to access the VT interface, and use 129 ``/dev/console instead of /dev/tty0``. Some of those programs are:: 133 It should be fixed in modern versions of these programs though.
|
/linux-6.14.4/Documentation/kbuild/ |
D | makefiles.rst | 741 Composite Host Programs 744 Host programs can be made up based on composite objects. 745 The syntax used to define composite objects for host programs is 761 Note: The syntax <executable>-y is not permitted for host-programs. 763 Using C++ for host programs 766 kbuild offers support for host programs written in C++. This was 789 Using Rust for host programs 792 Kbuild offers support for host programs written in Rust. However, 806 Controlling compiler options for host programs 809 When compiling host programs, it is possible to set specific flags. [all …]
|