eBPF 在功能方面有哪些限制?

eBPF 在功能方面有哪些限制?

据我了解,它主要用于可观察性(即只读)。
我看到你可以路由数据包,但你还能做更多的事情吗?
您还可以操作文件系统、发送信号并从 eBPF 程序写入吗?

答案1

eBPF 在功能方面有哪些限制?

这是一个非常广泛的问题:-) 要了解 eBPF 可以做什么,您可以查看官方网站:https://ebpf.io

除了与文件系统的交互(见下文)之外,很难想象 eBPF 程序现在不能做什么。

您还可以操作文件系统、发送信号并从 eBPF 程序写入吗?

操作文件系统:除了 sysctls(参见bpf_sysctl_set_new_value BPF 助手),我不相信你现在可以从 BPF 程序写入文件。我认为这主要是因为还没有出现这样的用例。

发送信号:您可以使用发送信号bpf_send_signal BPF 助手

答案2

eBPF 在设计上无法对它想要的内核进行任何调用。他们创建了“bpf helpers”函数,这是暴露给 ebpf 程序的内核的功能。你可以在这里看到列表:

https://github.com/torvalds/linux/blob/master/include/uapi/linux/bpf.h#L1538

相关内容