Skip to content

Commit 483f2fc

Browse files
committed
add translate of bcc documents
1 parent 31c92ab commit 483f2fc

12 files changed

+6146
-1810
lines changed

src/bcc-documents/kernel-versions.md

+376-277
Large diffs are not rendered by default.

src/bcc-documents/kernel-versions_en.md

+489
Large diffs are not rendered by default.

src/bcc-documents/kernel_config.md

+42-45
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,45 @@
1-
# Kernel Configuration for BPF Features
1+
# BPF 特性的内核配置
22

3-
## BPF Related Kernel Configurations
3+
## BPF 相关的内核配置
44

5-
| Functionalities | Kernel Configuration | Description |
6-
|:----------------|:---------------------|:------------|
7-
| **Basic** | CONFIG_BPF_SYSCALL | Enable the bpf() system call |
8-
| | CONFIG_BPF_JIT | BPF programs are normally handled by a BPF interpreter. This option allows the kernel to generate native code when a program is loaded into the kernel. This will significantly speed-up processing of BPF programs |
9-
| | CONFIG_HAVE_BPF_JIT | Enable BPF Just In Time compiler |
10-
| | CONFIG_HAVE_EBPF_JIT | Extended BPF JIT (eBPF) |
11-
| | CONFIG_HAVE_CBPF_JIT | Classic BPF JIT (cBPF) |
12-
| | CONFIG_MODULES | Enable to build loadable kernel modules |
13-
| | CONFIG_BPF | BPF VM interpreter |
14-
| | CONFIG_BPF_EVENTS | Allow the user to attach BPF programs to kprobe, uprobe, and tracepoint events |
15-
| | CONFIG_PERF_EVENTS | Kernel performance events and counters |
16-
| | CONFIG_HAVE_PERF_EVENTS | Enable perf events |
17-
| | CONFIG_PROFILING | Enable the extended profiling support mechanisms used by profilers |
18-
| **BTF** | CONFIG_DEBUG_INFO_BTF | Generate deduplicated BTF type information from DWARF debug info |
19-
| | CONFIG_PAHOLE_HAS_SPLIT_BTF | Generate BTF for each selected kernel module |
20-
| | CONFIG_DEBUG_INFO_BTF_MODULES | Generate compact split BTF type information for kernel modules |
21-
| **Security** | CONFIG_BPF_JIT_ALWAYS_ON | Enable BPF JIT and removes BPF interpreter to avoid speculative execution |
22-
| | CONFIG_BPF_UNPRIV_DEFAULT_OFF | Disable unprivileged BPF by default by setting |
23-
| **Cgroup** | CONFIG_CGROUP_BPF | Support for BPF programs attached to cgroups |
24-
| **Network** | CONFIG_BPFILTER | BPF based packet filtering framework (BPFILTER) |
25-
| | CONFIG_BPFILTER_UMH | This builds bpfilter kernel module with embedded user mode helper |
26-
| | CONFIG_NET_CLS_BPF | BPF-based classifier - to classify packets based on programmable BPF (JIT'ed) filters as an alternative to ematches |
27-
| | CONFIG_NET_ACT_BPF | Execute BPF code on packets. The BPF code will decide if the packet should be dropped or not |
28-
| | CONFIG_BPF_STREAM_PARSER | Enable this to allow a TCP stream parser to be used with BPF_MAP_TYPE_SOCKMAP |
29-
| | CONFIG_LWTUNNEL_BPF | Allow to run BPF programs as a nexthop action following a route lookup for incoming and outgoing packets |
30-
| | CONFIG_NETFILTER_XT_MATCH_BPF | BPF matching applies a linux socket filter to each packet and accepts those for which the filter returns non-zero |
31-
| | CONFIG_IPV6_SEG6_BPF | To support BPF seg6local hook. bpf: Add IPv6 Segment Routing helpersy. [Reference](https://github.com/torvalds/linux/commit/fe94cc290f535709d3c5ebd1e472dfd0aec7ee7) |
32-
| **kprobes** | CONFIG_KPROBE_EVENTS | This allows the user to add tracing events (similar to tracepoints) on the fly via the ftrace interface |
33-
| | CONFIG_KPROBES | Enable kprobes-based dynamic events |
34-
| | CONFIG_HAVE_KPROBES | Check if krpobes enabled |
35-
| | CONFIG_HAVE_REGS_AND_STACK_ACCESS_API | This symbol should be selected by an architecture if it supports the API needed to access registers and stack entries from pt_regs. For example the kprobes-based event tracer needs this API. |
36-
| | CONFIG_KPROBES_ON_FTRACE | Have kprobes on function tracer if arch supports full passing of pt_regs to function tracing |
37-
| **kprobe multi** | CONFIG_FPROBE | Enable fprobe to attach the probe on multiple functions at once |
38-
| **kprobe override** | CONFIG_BPF_KPROBE_OVERRIDE | Enable BPF programs to override a kprobed function |
39-
| **uprobes** | CONFIG_UPROBE_EVENTS | Enable uprobes-based dynamic events |
40-
| | CONFIG_ARCH_SUPPORTS_UPROBES | Arch specific uprobes support |
41-
| | CONFIG_UPROBES | Uprobes is the user-space counterpart to kprobes: they enable instrumentation applications (such as 'perf probe') to establish unintrusive probes in user-space binaries and libraries, by executing handler functions when the probes are hit by user-space applications. |
42-
| | CONFIG_MMU | MMU-based virtualised addressing space support by paged memory management |
43-
| **Tracepoints** | CONFIG_TRACEPOINTS | Enable inserting tracepoints in the kernel and connect to proble functions |
44-
| | CONFIG_HAVE_SYSCALL_TRACEPOINTS | Enable syscall enter/exit tracing |
5+
| 功能 | 内核配置 | 描述 |
6+
|:----|:----------|:-----|
7+
| **基础** | CONFIG_BPF_SYSCALL | 启用 bpf() 系统调用 |
8+
| | CONFIG_BPF_JIT | BPF 程序通常由 BPF 解释器处理。此选项允许内核在加载程序时生成本地代码。这将显著加速 BPF 程序的处理 |
9+
| | CONFIG_HAVE_BPF_JIT | 启用 BPF 即时编译器 |
10+
| | CONFIG_HAVE_EBPF_JIT | 扩展 BPF JIT (eBPF) |
11+
| | CONFIG_HAVE_CBPF_JIT | 经典 BPF JIT (cBPF) |
12+
| | CONFIG_MODULES | 启用可加载内核模块的构建 |
13+
| | CONFIG_BPF | BPF VM 解释器 |
14+
| | CONFIG_BPF_EVENTS | 允许用户将 BPF 程序附加到 kprobe、uprobe 和 tracepoint 事件上 |
15+
| | CONFIG_PERF_EVENTS | 内核性能事件和计数器 |
16+
| | CONFIG_HAVE_PERF_EVENTS | 启用性能事件 |
17+
| | CONFIG_PROFILING | 启用分析器使用的扩展分析支持机制 |
18+
| **BTF** | CONFIG_DEBUG_INFO_BTF | 从 DWARF 调试信息生成去重的 BTF 类型信息 |
19+
| | CONFIG_PAHOLE_HAS_SPLIT_BTF | 为每个选定的内核模块生成 BTF |
20+
| | CONFIG_DEBUG_INFO_BTF_MODULES | 为内核模块生成紧凑的分割 BTF 类型信息 |
21+
| **安全** | CONFIG_BPF_JIT_ALWAYS_ON | 启用 BPF JIT 并删除 BPF 解释器以避免猜测执行 |
22+
| | CONFIG_BPF_UNPRIV_DEFAULT_OFF | 通过设置默认禁用非特权 BPF |
23+
| **Cgroup** | CONFIG_CGROUP_BPF | 支持将 BPF 程序附加到 cgroup 上 |
24+
| **网络** | CONFIG_BPFILTER | 基于 BPF 的数据包过滤框架 (BPFILTER) |
25+
| | CONFIG_BPFILTER_UMH | 使用内嵌的用户模式助手构建 bpfilter 内核模块 |
26+
| | CONFIG_NET_CLS_BPF | 基于可编程 BPF (JIT'ed) 过滤器进行数据包分类的基于 BPF 的分类器的替代方法 || | CONFIG_NET_ACT_BPF | 在数据包上执行BPF代码。BPF代码将决定是否丢弃数据包 |
27+
| | CONFIG_BPF_STREAM_PARSER | 启用此功能,允许使用BPF_MAP_TYPE_SOCKMAP与TCP流解析器配合使用 |
28+
| | CONFIG_LWTUNNEL_BPF | 在路由查找入站和出站数据包后,允许作为下一跳操作运行BPF程序 |
29+
| | CONFIG_NETFILTER_XT_MATCH_BPF | BPF匹配将对每个数据包应用Linux套接字过滤器,并接受过滤器返回非零值的数据包 |
30+
| | CONFIG_IPV6_SEG6_BPF | 为支持BPF seg6local挂钩,添加IPv6 Segement Routing助手 [参考](https://github.com/torvalds/linux/commit/fe94cc290f535709d3c5ebd1e472dfd0aec7ee7) |
31+
| **kprobes** | CONFIG_KPROBE_EVENTS | 允许用户通过ftrace接口动态添加跟踪事件(类似于tracepoints) |
32+
| | CONFIG_KPROBES | 启用基于kprobes的动态事件 |
33+
| | CONFIG_HAVE_KPROBES | 检查是否启用了kprobes |
34+
| | CONFIG_HAVE_REGS_AND_STACK_ACCESS_API | 如果架构支持从pt_regs访问寄存器和堆栈条目所需的API,则应该选择此符号。例如,基于kprobes的事件跟踪器需要此API |
35+
| | CONFIG_KPROBES_ON_FTRACE | 如果架构支持将pt_regs完全传递给函数跟踪,则在函数跟踪器上有kprobes |
36+
| **kprobe multi** | CONFIG_FPROBE | 启用fprobe以一次性在多个函数上附加探测点 |
37+
| **kprobe override** | CONFIG_BPF_KPROBE_OVERRIDE | 启用BPF程序覆盖kprobed函数 |
38+
| **uprobes** | CONFIG_UPROBE_EVENTS | 启用基于uprobes的动态事件 |
39+
| | CONFIG_ARCH_SUPPORTS_UPROBES | 架构特定的uprobes支持 |
40+
| | CONFIG_UPROBES | Uprobes是kprobes的用户空间对应项:它们允许仪器应用程序(如'perf probe')在用户空间二进制文件和库中建立非侵入性探测点,并在用户空间应用程序触发探测点时执行处理函数。 || | CONFIG_MMU | 基于MMU的虚拟化寻址空间支持,通过分页内存管理 |
41+
| **Tracepoints** | CONFIG_TRACEPOINTS | 启用在内核中插入Tracepoints并与问题函数连接 |
42+
| | CONFIG_HAVE_SYSCALL_TRACEPOINTS | 启用系统调用进入/退出跟踪 |
4543
| **Raw Tracepoints** | Same as Tracepoints | |
46-
| **LSM** | CONFIG_BPF_LSM | Enable instrumentation of the security hooks with BPF programs for implementing dynamic MAC and Audit Policies |
47-
| **LIRC** | CONFIG_BPF_LIRC_MODE2 | Allow attaching BPF programs to a lirc device |
48-
44+
| **LSM** | CONFIG_BPF_LSM | 使用BPF程序对安全钩子进行仪器化,实现动态MAC和审计策略 |
45+
| **LIRC** | CONFIG_BPF_LIRC_MODE2 | 允许将BPF程序附加到lirc设备 |

src/bcc-documents/kernel_config_en.md

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Kernel Configuration for BPF Features
2+
3+
## BPF Related Kernel Configurations
4+
5+
| Functionalities | Kernel Configuration | Description |
6+
|:----------------|:---------------------|:------------|
7+
| **Basic** | CONFIG_BPF_SYSCALL | Enable the bpf() system call |
8+
| | CONFIG_BPF_JIT | BPF programs are normally handled by a BPF interpreter. This option allows the kernel to generate native code when a program is loaded into the kernel. This will significantly speed-up processing of BPF programs |
9+
| | CONFIG_HAVE_BPF_JIT | Enable BPF Just In Time compiler |
10+
| | CONFIG_HAVE_EBPF_JIT | Extended BPF JIT (eBPF) |
11+
| | CONFIG_HAVE_CBPF_JIT | Classic BPF JIT (cBPF) |
12+
| | CONFIG_MODULES | Enable to build loadable kernel modules |
13+
| | CONFIG_BPF | BPF VM interpreter |
14+
| | CONFIG_BPF_EVENTS | Allow the user to attach BPF programs to kprobe, uprobe, and tracepoint events |
15+
| | CONFIG_PERF_EVENTS | Kernel performance events and counters |
16+
| | CONFIG_HAVE_PERF_EVENTS | Enable perf events |
17+
| | CONFIG_PROFILING | Enable the extended profiling support mechanisms used by profilers |
18+
| **BTF** | CONFIG_DEBUG_INFO_BTF | Generate deduplicated BTF type information from DWARF debug info |
19+
| | CONFIG_PAHOLE_HAS_SPLIT_BTF | Generate BTF for each selected kernel module |
20+
| | CONFIG_DEBUG_INFO_BTF_MODULES | Generate compact split BTF type information for kernel modules |
21+
| **Security** | CONFIG_BPF_JIT_ALWAYS_ON | Enable BPF JIT and removes BPF interpreter to avoid speculative execution |
22+
| | CONFIG_BPF_UNPRIV_DEFAULT_OFF | Disable unprivileged BPF by default by setting |
23+
| **Cgroup** | CONFIG_CGROUP_BPF | Support for BPF programs attached to cgroups |
24+
| **Network** | CONFIG_BPFILTER | BPF based packet filtering framework (BPFILTER) |
25+
| | CONFIG_BPFILTER_UMH | This builds bpfilter kernel module with embedded user mode helper |
26+
| | CONFIG_NET_CLS_BPF | BPF-based classifier - to classify packets based on programmable BPF (JIT'ed) filters as an alternative to ematches |
27+
| | CONFIG_NET_ACT_BPF | Execute BPF code on packets. The BPF code will decide if the packet should be dropped or not |
28+
| | CONFIG_BPF_STREAM_PARSER | Enable this to allow a TCP stream parser to be used with BPF_MAP_TYPE_SOCKMAP |
29+
| | CONFIG_LWTUNNEL_BPF | Allow to run BPF programs as a nexthop action following a route lookup for incoming and outgoing packets |
30+
| | CONFIG_NETFILTER_XT_MATCH_BPF | BPF matching applies a linux socket filter to each packet and accepts those for which the filter returns non-zero |
31+
| | CONFIG_IPV6_SEG6_BPF | To support BPF seg6local hook. bpf: Add IPv6 Segment Routing helpersy. [Reference](https://github.com/torvalds/linux/commit/fe94cc290f535709d3c5ebd1e472dfd0aec7ee7) |
32+
| **kprobes** | CONFIG_KPROBE_EVENTS | This allows the user to add tracing events (similar to tracepoints) on the fly via the ftrace interface |
33+
| | CONFIG_KPROBES | Enable kprobes-based dynamic events |
34+
| | CONFIG_HAVE_KPROBES | Check if krpobes enabled |
35+
| | CONFIG_HAVE_REGS_AND_STACK_ACCESS_API | This symbol should be selected by an architecture if it supports the API needed to access registers and stack entries from pt_regs. For example the kprobes-based event tracer needs this API. |
36+
| | CONFIG_KPROBES_ON_FTRACE | Have kprobes on function tracer if arch supports full passing of pt_regs to function tracing |
37+
| **kprobe multi** | CONFIG_FPROBE | Enable fprobe to attach the probe on multiple functions at once |
38+
| **kprobe override** | CONFIG_BPF_KPROBE_OVERRIDE | Enable BPF programs to override a kprobed function |
39+
| **uprobes** | CONFIG_UPROBE_EVENTS | Enable uprobes-based dynamic events |
40+
| | CONFIG_ARCH_SUPPORTS_UPROBES | Arch specific uprobes support |
41+
| | CONFIG_UPROBES | Uprobes is the user-space counterpart to kprobes: they enable instrumentation applications (such as 'perf probe') to establish unintrusive probes in user-space binaries and libraries, by executing handler functions when the probes are hit by user-space applications. |
42+
| | CONFIG_MMU | MMU-based virtualised addressing space support by paged memory management |
43+
| **Tracepoints** | CONFIG_TRACEPOINTS | Enable inserting tracepoints in the kernel and connect to proble functions |
44+
| | CONFIG_HAVE_SYSCALL_TRACEPOINTS | Enable syscall enter/exit tracing |
45+
| **Raw Tracepoints** | Same as Tracepoints | |
46+
| **LSM** | CONFIG_BPF_LSM | Enable instrumentation of the security hooks with BPF programs for implementing dynamic MAC and Audit Policies |
47+
| **LIRC** | CONFIG_BPF_LIRC_MODE2 | Allow attaching BPF programs to a lirc device |

0 commit comments

Comments
 (0)