gpt4 book ai didi

每种类型的 ebpf 程序的上下文

转载 作者:行者123 更新时间:2023-12-02 19:53:24 25 4
gpt4 key购买 nike

我发现对于每种类型的 ebpf 程序,该程序都有不同的输入(上下文)。例如,在 BPF_PROG_TYPE_SOCKET_FILTER 程序中,指向 struct __sk_buff 的指针作为参数传递。每个程序类型的上下文在哪里定义?

最佳答案

Where are defined the contexts for each program type?

内核中有定义,一般在内核头文件中。精确位置取决于程序类型。例如,__sk_buff 由多种程序类型使用,并在 linux/bpf.h 中定义。 .

要查找每个程序所需的上下文,您可以查看内核中的 BPF 示例,或尝试查找给定程序类型的 xxxx_convert_ctx_access。这些函数将对上下文对象的访问转换为对实际内核对象的访问(例如,__sk_buff 是 sk_buff 的镜像)。例如,XDP programs expect a context of type struct xdp_md .

正如@Qeole 在评论中指出的那样,Oracle 从 2019 年 1 月开始发布了一篇博客文章,lists the expected context for each program type .

关于每种类型的 ebpf 程序的上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57655830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com