Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux eBPF可以调用动态库吗?_Linux_Ebpf - Fatal编程技术网

Linux eBPF可以调用动态库吗?

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

是否可以编写一个eBPF程序来动态调用外部库?即,假设运行eBPF代码的主机上存在此特定库


现在我不关心程序是否通过了验证,而是是否可以用字节码来表示。应假定外部函数未嵌入ELF二进制文件中。

否,目前不可能

加载并连接后,eBPF程序可以调用:

  • 来自同一程序的eBPF函数(eBPF到eBPF函数调用)
  • 其他eBPF程序,在特定条件下,通过尾部调用
  • BPF\u PROG\u type\u EXT类型的其他eBPF程序
  • 内核函数帮助程序(内核中定义的函数库)
  • 随机内核函数,如果它们被显式标记为可调用(应该在Linux 5.13中)

它无法调用用户空间库中的函数。

再次感谢您的帮助,昆汀。不客气,很高兴我能帮助您:)