Vietnamese (machine translation)

Lưu ý

Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.

Bản gốc:

Program Types and ELF Sections

Người dịch:

Google Translate (machine translation)

Phiên bản gốc:

8541d8f725c6

Cảnh báo

Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.

Các loại chương trình và phần ELF

Bảng bên dưới liệt kê các loại chương trình, loại đính kèm của chúng nếu có liên quan và phần ELF tên được libbpf hỗ trợ cho chúng. Tên phần ELF tuân theo các quy tắc sau:

  • ZZ0000ZZ là một kết quả khớp chính xác, ví dụ: ZZ0001ZZ

  • ZZ0002ZZ có nghĩa là nó có thể là ZZ0003ZZ chính xác hoặc ZZ0004ZZ được định dạng tốt với dấu phân cách ‘ZZ0005ZZ’ giữa ZZ0006ZZ và ZZ0007ZZ.

Khi ZZ0000ZZ được chỉ định, chúng sẽ cung cấp chi tiết về cách tự động đính kèm chương trình BPF. các định dạng của ZZ0001ZZ tùy thuộc vào loại chương trình, ví dụ: ZZ0002ZZ cho dấu vết hoặc ZZ0003ZZ cho đầu dò USDT. Các tính năng bổ sung là được mô tả chi tiết hơn ở phần chú thích.

Program Type

Attach Type

ELF Section Name

Sleepable

BPF_PROG_TYPE_CGROUP_DEVICE

BPF_CGROUP_DEVICE

cgroup/dev

BPF_PROG_TYPE_CGROUP_SKB

cgroup/skb

BPF_CGROUP_INET_EGRESS

cgroup_skb/egress

BPF_CGROUP_INET_INGRESS

cgroup_skb/ingress

BPF_PROG_TYPE_CGROUP_SOCKOPT

BPF_CGROUP_GETSOCKOPT

cgroup/getsockopt

BPF_CGROUP_SETSOCKOPT

cgroup/setsockopt

BPF_PROG_TYPE_CGROUP_SOCK_ADDR

BPF_CGROUP_INET4_BIND

cgroup/bind4

BPF_CGROUP_INET4_CONNECT

cgroup/connect4

BPF_CGROUP_INET4_GETPEERNAME

cgroup/getpeername4

BPF_CGROUP_INET4_GETSOCKNAME

cgroup/getsockname4

BPF_CGROUP_INET6_BIND

cgroup/bind6

BPF_CGROUP_INET6_CONNECT

cgroup/connect6

BPF_CGROUP_INET6_GETPEERNAME

cgroup/getpeername6

BPF_CGROUP_INET6_GETSOCKNAME

cgroup/getsockname6

BPF_CGROUP_UDP4_RECVMSG

cgroup/recvmsg4

BPF_CGROUP_UDP4_SENDMSG

cgroup/sendmsg4

BPF_CGROUP_UDP6_RECVMSG

cgroup/recvmsg6

BPF_CGROUP_UDP6_SENDMSG

cgroup/sendmsg6

BPF_CGROUP_UNIX_CONNECT

cgroup/connect_unix

BPF_CGROUP_UNIX_SENDMSG

cgroup/sendmsg_unix

BPF_CGROUP_UNIX_RECVMSG

cgroup/recvmsg_unix

BPF_CGROUP_UNIX_GETPEERNAME

cgroup/getpeername_unix

BPF_CGROUP_UNIX_GETSOCKNAME

cgroup/getsockname_unix

BPF_PROG_TYPE_CGROUP_SOCK

BPF_CGROUP_INET4_POST_BIND

cgroup/post_bind4

BPF_CGROUP_INET6_POST_BIND

cgroup/post_bind6

BPF_CGROUP_INET_SOCK_CREATE

cgroup/sock_create

cgroup/sock

BPF_CGROUP_INET_SOCK_RELEASE

cgroup/sock_release

BPF_PROG_TYPE_CGROUP_SYSCTL

BPF_CGROUP_SYSCTL

cgroup/sysctl

BPF_PROG_TYPE_EXT

freplace+ [1]

BPF_PROG_TYPE_FLOW_DISSECTOR

BPF_FLOW_DISSECTOR

flow_dissector

BPF_PROG_TYPE_KPROBE

kprobe+ [2]

kretprobe+ [2]

ksyscall+ [3]

kretsyscall+ [3]

uprobe+ [4]

uprobe.s+ [4]

Yes

uretprobe+ [4]

uretprobe.s+ [4]

Yes

usdt+ [6]

usdt.s+ [6]

Yes

BPF_TRACE_KPROBE_MULTI

kprobe.multi+ [7]

kretprobe.multi+ [7]

BPF_TRACE_KPROBE_SESSION

kprobe.session+ [7]

BPF_TRACE_UPROBE_MULTI

uprobe.multi+ [5]

uprobe.multi.s+ [5]

Yes

uretprobe.multi+ [5]

uretprobe.multi.s+ [5]

Yes

BPF_TRACE_UPROBE_SESSION

uprobe.session+ [5]

uprobe.session.s+ [5]

Yes

BPF_PROG_TYPE_LIRC_MODE2

BPF_LIRC_MODE2

lirc_mode2

BPF_PROG_TYPE_LSM

BPF_LSM_CGROUP

lsm_cgroup+

BPF_LSM_MAC

lsm+ [8]

lsm.s+ [8]

Yes

BPF_PROG_TYPE_LWT_IN

lwt_in

BPF_PROG_TYPE_LWT_OUT

lwt_out

BPF_PROG_TYPE_LWT_SEG6LOCAL

lwt_seg6local

BPF_PROG_TYPE_LWT_XMIT

lwt_xmit

BPF_PROG_TYPE_NETFILTER

netfilter

BPF_PROG_TYPE_PERF_EVENT

perf_event

BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE

raw_tp.w+ [9]

raw_tracepoint.w+

BPF_PROG_TYPE_RAW_TRACEPOINT

raw_tp+ [9]

raw_tracepoint+

BPF_PROG_TYPE_SCHED_ACT

action [10]

BPF_PROG_TYPE_SCHED_CLS

classifier [10]

tc [10]

BPF_NETKIT_PRIMARY

netkit/primary

BPF_NETKIT_PEER

netkit/peer

BPF_TCX_INGRESS

tc/ingress

BPF_TCX_EGRESS

tc/egress

BPF_TCX_INGRESS

tcx/ingress

BPF_TCX_EGRESS

tcx/egress

BPF_PROG_TYPE_SK_LOOKUP

BPF_SK_LOOKUP

sk_lookup

BPF_PROG_TYPE_SK_MSG

BPF_SK_MSG_VERDICT

sk_msg

BPF_PROG_TYPE_SK_REUSEPORT

BPF_SK_REUSEPORT_SELECT_OR_MIGRATE

sk_reuseport/migrate

BPF_SK_REUSEPORT_SELECT

sk_reuseport

BPF_PROG_TYPE_SK_SKB

sk_skb

BPF_SK_SKB_STREAM_PARSER

sk_skb/stream_parser

BPF_SK_SKB_STREAM_VERDICT

sk_skb/stream_verdict

BPF_PROG_TYPE_SOCKET_FILTER

socket

BPF_PROG_TYPE_SOCK_OPS

BPF_CGROUP_SOCK_OPS

sockops

BPF_PROG_TYPE_STRUCT_OPS

struct_ops+ [11]

struct_ops.s+ [11]

Yes

BPF_PROG_TYPE_SYSCALL

syscall

Yes

BPF_PROG_TYPE_TRACEPOINT

tp+ [12]

tracepoint+ [12]

BPF_PROG_TYPE_TRACING

BPF_MODIFY_RETURN

fmod_ret+ [1]

fmod_ret.s+ [1]

Yes

BPF_TRACE_FENTRY

fentry+ [1]

fentry.s+ [1]

Yes

BPF_TRACE_FEXIT

fexit+ [1]

fexit.s+ [1]

Yes

BPF_TRACE_FSESSION

fsession+ [1]

fsession.s+ [1]

Yes

BPF_TRACE_ITER

iter+ [13]

iter.s+ [13]

Yes

BPF_TRACE_RAW_TP

tp_btf+ [1]

BPF_PROG_TYPE_XDP

BPF_XDP_CPUMAP

xdp.frags/cpumap

xdp/cpumap

BPF_XDP_DEVMAP

xdp.frags/devmap

xdp/devmap

BPF_XDP

xdp.frags

xdp

Footnotes