summaryrefslogtreecommitdiff
path: root/Documentation/bpf
diff options
context:
space:
mode:
authorDave Thaler <dthaler@microsoft.com>2023-03-10 23:38:14 +0000
committerAlexei Starovoitov <ast@kernel.org>2023-03-13 22:10:45 -0700
commitb9fe8e8d03d0df28b2431e3aaf8e115cf7bf2f65 (patch)
tree37527d6f70ba8eeca32171dd56f81e56c3d9307d /Documentation/bpf
parentab4c15feb2ebcf9f4abe31457d7cbc8f3de9c2ab (diff)
downloadlwn-b9fe8e8d03d0df28b2431e3aaf8e115cf7bf2f65.tar.gz
lwn-b9fe8e8d03d0df28b2431e3aaf8e115cf7bf2f65.zip
bpf, docs: Add signed comparison example
Improve clarity by adding an example of a signed comparison instruction Signed-off-by: Dave Thaler <dthaler@microsoft.com> Acked-by: David Vernet <void@manifault.com> Acked-by: John Fastabend <john.fastabend@gmail.com> Link: https://lore.kernel.org/r/20230310233814.4641-1-dthaler1968@googlemail.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'Documentation/bpf')
-rw-r--r--Documentation/bpf/instruction-set.rst11
1 files changed, 10 insertions, 1 deletions
diff --git a/Documentation/bpf/instruction-set.rst b/Documentation/bpf/instruction-set.rst
index 5e43e14abe80..b44640589055 100644
--- a/Documentation/bpf/instruction-set.rst
+++ b/Documentation/bpf/instruction-set.rst
@@ -11,7 +11,8 @@ Documentation conventions
=========================
For brevity, this document uses the type notion "u64", "u32", etc.
-to mean an unsigned integer whose width is the specified number of bits.
+to mean an unsigned integer whose width is the specified number of bits,
+and "s32", etc. to mean a signed integer of the specified number of bits.
Registers and calling convention
================================
@@ -264,6 +265,14 @@ BPF_JSLE 0xd0 PC += off if dst <= src signed
The eBPF program needs to store the return value into register R0 before doing a
BPF_EXIT.
+Example:
+
+``BPF_JSGE | BPF_X | BPF_JMP32`` (0x7e) means::
+
+ if (s32)dst s>= (s32)src goto +offset
+
+where 's>=' indicates a signed '>=' comparison.
+
Helper functions
~~~~~~~~~~~~~~~~