Linux eBPF可以调用动态库吗?
是否可以编写一个eBPF程序来动态调用外部库?即,假设运行eBPF代码的主机上存在此特定库Linux eBPF可以调用动态库吗?,linux,ebpf,Linux,Ebpf,是否可以编写一个eBPF程序来动态调用外部库?即,假设运行eBPF代码的主机上存在此特定库 现在我不关心程序是否通过了验证,而是是否可以用字节码来表示。应假定外部函数未嵌入ELF二进制文件中。否,目前不可能 加载并连接后,eBPF程序可以调用: 来自同一程序的eBPF函数(eBPF到eBPF函数调用) 其他eBPF程序,在特定条件下,通过尾部调用 BPF\u PROG\u type\u EXT类型的其他eBPF程序 内核函数帮助程序(内核中定义的函数库) 随机内核函数,如果它们被显式标记为可调
现在我不关心程序是否通过了验证,而是是否可以用字节码来表示。应假定外部函数未嵌入ELF二进制文件中。否,目前不可能 加载并连接后,eBPF程序可以调用:
- 来自同一程序的eBPF函数(eBPF到eBPF函数调用)
- 其他eBPF程序,在特定条件下,通过尾部调用
BPF\u PROG\u type\u EXT类型的其他eBPF程序
- 内核函数帮助程序(内核中定义的函数库)
- 随机内核函数,如果它们被显式标记为可调用(应该在Linux 5.13中)
它无法调用用户空间库中的函数。再次感谢您的帮助,昆汀。不客气,很高兴我能帮助您:)