You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/37-uprobe-rust/README.md
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,6 @@ Uprobe is useful for parsing traffic in user space that cannot be parsed by kern
14
14
15
15
-[eBPF practice tutorial: Use Uprobe to capture plaintext SSL/TLS data from various libraries](../30-sslsniff/README.md)
16
16
-[eBPF practice tutorial: Use Uprobe to capture Golang coroutine switching](../31-goroutine/README.md)
17
-
-[eBPF practice tutorial: Use Uprobe to capture user space http2 traffic](../32-http2/README.md)
18
17
19
18
Running Uprobe in kernel mode eBPF might also produce significant performance overhead, in which case you might consider using user space eBPF runtime, such as [bpftime](https://github.com/eunomia-bpf/bpftime). bpftime is a user-space eBPF runtime based on LLVM JIT/AOT. It can run eBPF Uprobe programs in user mode and is compatible with kernel mode eBPF. Because it avoids context switching between user and kernel modes, bpftime's Uprobe overheads are about 10 times less than the kernel's, and it also more easy to extend.
Copy file name to clipboardExpand all lines: src/38-btf-uprobe/test-verify/README.md
+4-5Lines changed: 4 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,10 +22,10 @@ By reusing the kernel verifier, we can provide:
22
22
23
23
The BTF format is a binary format that contains the type information of the progam.
24
24
25
-
The based program can be found in the [examples](../examples) directory, they represent the different version of host userspace applications, include:
25
+
The base programs live in the tutorial source tree under [src/38-btf-uprobe/examples](https://github.com/eunomia-bpf/bpf-developer-tutorial/tree/main/src/38-btf-uprobe/examples). They represent different versions of the host userspace application and include:
26
26
27
27
-`btf-base`: the base version of `btf-base-complete`, which contain the type information of `struct data` the same as [verify-failed-no-btf/uprobe.bpf.c](verify-failed-no-btf/uprobe.bpf.c).
28
-
-`btf-base-new`: the new version of `btf-base`, which contains the type information of `struct data` different from `btf-base` and [verify-failed-btf/uprobe.bpf.c](verify-failed-btf/uprobe.bpf.c). We can use it to test CO-RE relocation.
28
+
-`btf-base-new`: the new version of `btf-base`, which contains the type information of `struct data` different from `btf-base` and [verify-failed-no-btf/uprobe_failed.bpf.c](verify-failed-no-btf/uprobe_failed.bpf.c). We can use it to test CO-RE relocation.
29
29
-`btf-base-complete`: the complete version of `btf-base`, which contains all the types that are used in the eBPF program, and a resource allocation and deallocation function.
30
30
31
31
run `make -C ../` in this directory to generate the BTF files.
@@ -153,7 +153,7 @@ If the extension (BPF program) access the invalid userspace struct variable, the
153
153
154
154
## Verify memory pointer access
155
155
156
-
See [verify-memory-access](verify-memory-access) directory.
156
+
See the `verify-memory-access/` sources in the tutorial tree for the full example.
157
157
158
158
The data struct is:
159
159
@@ -275,7 +275,7 @@ Failed to load and verify BPF skeleton
275
275
276
276
## Verify resource allocation and deallocation with psudo ufuncs
277
277
278
-
See [verify-resource-allocation](verify-resource-allocation) directory.
278
+
See the `verify-resource-allocation/` sources in the tutorial tree for the full example.
279
279
280
280
First, give kernel the psudo ufunc information through the kernel module:
281
281
@@ -448,4 +448,3 @@ And run the userspace program:
0 commit comments