1
1
.. contents ::
2
2
.. sectnum ::
3
3
4
- ========================================
5
- eBPF Instruction Set Specification, v1.0
6
- ========================================
4
+ =======================================
5
+ BPF Instruction Set Specification, v1.0
6
+ =======================================
7
7
8
- This document specifies version 1.0 of the eBPF instruction set.
8
+ This document specifies version 1.0 of the BPF instruction set.
9
9
10
10
Documentation conventions
11
11
=========================
@@ -100,7 +100,7 @@ Definitions
100
100
Instruction encoding
101
101
====================
102
102
103
- eBPF has two instruction encodings:
103
+ BPF has two instruction encodings:
104
104
105
105
* the basic instruction encoding, which uses 64 bits to encode an instruction
106
106
* the wide instruction encoding, which appends a second 64-bit immediate (i.e.,
@@ -244,7 +244,7 @@ BPF_END 0xd0 0 byte swap operations (see `Byte swap instructions`_ b
244
244
========= ===== ======= ==========================================================
245
245
246
246
Underflow and overflow are allowed during arithmetic operations, meaning
247
- the 64-bit or 32-bit value will wrap. If eBPF program execution would
247
+ the 64-bit or 32-bit value will wrap. If BPF program execution would
248
248
result in division by zero, the destination register is instead set to zero.
249
249
If execution would result in modulo by zero, for ``BPF_ALU64 `` the value of
250
250
the destination register is unchanged whereas for ``BPF_ALU `` the upper
@@ -366,7 +366,7 @@ BPF_JSLT 0xc any PC += offset if dst < src signed
366
366
BPF_JSLE 0xd any PC += offset if dst <= src signed
367
367
======== ===== === =========================================== =========================================
368
368
369
- The eBPF program needs to store the return value into register R0 before doing a
369
+ The BPF program needs to store the return value into register R0 before doing a
370
370
``BPF_EXIT ``.
371
371
372
372
Example:
@@ -486,9 +486,9 @@ Atomic operations
486
486
487
487
Atomic operations are operations that operate on memory and can not be
488
488
interrupted or corrupted by other access to the same memory region
489
- by other eBPF programs or means outside of this specification.
489
+ by other BPF programs or means outside of this specification.
490
490
491
- All atomic operations supported by eBPF are encoded as store operations
491
+ All atomic operations supported by BPF are encoded as store operations
492
492
that use the ``BPF_ATOMIC `` mode modifier as follows:
493
493
494
494
* ``BPF_ATOMIC | BPF_W | BPF_STX `` for 32-bit operations
@@ -578,7 +578,7 @@ where
578
578
Maps
579
579
~~~~
580
580
581
- Maps are shared memory regions accessible by eBPF programs on some platforms.
581
+ Maps are shared memory regions accessible by BPF programs on some platforms.
582
582
A map can have various semantics as defined in a separate document, and may or
583
583
may not have a single contiguous memory region, but the 'map_val(map)' is
584
584
currently only defined for maps that do have a single contiguous memory region.
@@ -600,6 +600,6 @@ identified by the given id.
600
600
Legacy BPF Packet access instructions
601
601
-------------------------------------
602
602
603
- eBPF previously introduced special instructions for access to packet data that were
603
+ BPF previously introduced special instructions for access to packet data that were
604
604
carried over from classic BPF. However, these instructions are
605
605
deprecated and should no longer be used.
0 commit comments