首页 > 解决方案 > ebpf 程序加载错误:unknown func bpf_l4_csum_replace#11

问题描述

我正在使用 ebpf 测试一个 nat 程序。但是 ebpf prog 加载器会抛出错误消息:

221: (85) call bpf_l4_csum_replace#11
unknown func bpf_l4_csum_replace#11  

这是什么意思 ?如何解决?谢谢。

标签: linux-kernelbpfebpf

解决方案


类似的消息可能意味着您的内核不知道您正在尝试使用的 BPF 助手,因为例如您的内核太旧助手已根据内核配置选项编译出来。但在这些情况下,您不会在验证程序日志中看到函数的名称。

这里可能发生的情况是您的内核确实支持 BPF 助手,但是您尝试加载的 BPF 程序的类型与该助手不兼容。例如,如果您的程序类型为socket_filter,则不能使用此帮助器(请参阅sk_filter_func_proto()用于check 的函数)。如果你的程序是一个 TC 分类器,你就可以使用它。


推荐阅读