Networking eBPF支持活动吗?
可以让Networking eBPF支持活动吗?,networking,linux-kernel,bpf,ebpf,Networking,Linux Kernel,Bpf,Ebpf,可以让ebpf程序生成事件,例如,数据包计数器达到预定义的阈值,ebpf将向用户生成一些通知/事件,类似于netlink提供的内容 我发现,目前唯一可以向此事件/状态发送信号的方法是通过用户应用程序可以轮询的maps。不,目前没有一种方法可以在没有轮询映射的情况下向用户空间或其他程序发送信号 这已经在iovisor dev邮件列表中了。如果您对此有使用案例,您可以尝试将其加入邮件列表。谢谢您的链接!建议使用ftrace跟踪地图更新调用,我应该试试。很高兴我能帮上忙!请注意,您也可以直接使用BPF
ebpf
程序生成事件,例如,数据包计数器达到预定义的阈值,ebpf
将向用户生成一些通知/事件,类似于netlink
提供的内容
我发现,目前唯一可以向此事件/状态发送信号的方法是通过用户应用程序可以轮询的
maps
。不,目前没有一种方法可以在没有轮询映射的情况下向用户空间或其他程序发送信号
这已经在iovisor dev邮件列表中了。如果您对此有使用案例,您可以尝试将其加入邮件列表。谢谢您的链接!建议使用
ftrace
跟踪地图更新调用,我应该试试。很高兴我能帮上忙!请注意,您也可以直接使用BPF而不是ftrace来跟踪对BPF\u map\u update\u elem
的调用。你想让我在回答中补充什么来接受吗?我还有一个问题。跟踪调用(使用ftrace
,tracepoints
)是否被视为异步机制?我不确定“异步”是什么意思…?例如,我可以通过setsockopt
订阅ip事件(添加/删除FIB规则)或网络接口事件(链接向上/向下),事件将显示在netlink套接字上,其中我运行select()
,因此无需连续轮询套接字。与我的示例相比,ftrace是如何工作的?