linux-kernel - 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
这是什么意思 ?如何解决?谢谢。
解决方案
类似的消息可能意味着您的内核不知道您正在尝试使用的 BPF 助手,因为例如您的内核太旧或助手已根据内核配置选项编译出来。但在这些情况下,您不会在验证程序日志中看到函数的名称。
这里可能发生的情况是您的内核确实支持 BPF 助手,但是您尝试加载的 BPF 程序的类型与该助手不兼容。例如,如果您的程序类型为socket_filter
,则不能使用此帮助器(请参阅sk_filter_func_proto()
用于check 的函数)。如果你的程序是一个 TC 分类器,你就可以使用它。
推荐阅读
- angular-services - 如何等待功能完成?
- phpmailer - phpmailer 停止工作 Mailer 错误:致命错误:未捕获错误:找不到类“PHPMailer”
- javascript - Is it possible to select a quality for the azure media player using its javascript API?
- r - 如何使用 lapply 函数进行 3064 回归
- sql-server - calculate how to get GETDATE() -4 using customer function in SQL
- active-directory - SharePoint API:无法在 client_credential 流中验证“Sites.FullControl.All”
- flutter - MaterialApp 中的导航器 - Flutter
- c++ - g ++崩溃“调用纯虚拟方法”而不是编译错误
- javascript - 加载带有超时功能的预加载器
- java - Eclipse Maven - 代码完成失败“此编译单元不在 Java 项目的构建路径上”和“下载索引失败”错误