Lines Matching refs:programs
9 This document describes a prototype compiler that translates programs
10 written in the P4 programming languages to eBPF programs. The
11 translation is performed by generating programs written in a subset of
63 P4 programs describe the behavior of network-processing dataplanes. A
81 machine code); EBPF programs are traditionally executed by a virtual
82 machine that resides in the Linux kernel. EBPF programs can be
84 instrumentation. The main feature of EBPF programs is their *static
85 safety*: prior to execution all EBPF programs have to be validated as
86 being safe, and unsafe programs cannot be executed. A safe program
100 EBPF programs are inserted into the kernel using *hooks*. There are
107 * EBPF programs can also be attached using the Linux Traffic Control
109 programs can be used as TC classifiers and actions.
111 * EBPF programs can also be attached to sockets or network interfaces.
115 EBPF programs can be used for many purposes; the main use cases are
129 user- and kernel-space programs can manipulate tables, by inserting,
151 accessing tables is prone to data races; since EBPF programs cannot
172 The current version of the P4 to EBPF compiler translates programs
173 written in the version 1.1 of the P4 programming language to programs
191 EBPF programs require a Linux kernel with version 4.2 or newer.
199 This is required for parsing the P4 programs.
204 control-plane programs that operate in concert with the kernel EBPF
229 Here are some limitations imposed on the P4 programs:
234 two separate EBPF programs.
241 * checksum computations are not implemented. In consequence, programs
293 * `test`: testing code and data. There are two testing programs: