首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个鱼钩cgroup_skb

多个鱼钩cgroup_skb
EN

Stack Overflow用户
提问于 2022-03-09 08:01:26
回答 1查看 294关注 0票数 1

当在内核中同时加载多个ebpf钩子(不使用链接)时,我对ebpf行为有一个基本问题。所有这些钩子都被调用了吗?例如,我加载了带有cgroup_skb/ingress钩子的ebpf程序。由我的程序加载的ebpf钩子函数在数据包进入过程中不会被内核调用。当我列出在“Linux5.13.0-30-Generic”上加载的程序时,我看到systemd默认已经加载了cgroup_skb/ingress挂钩。我理解为什么这些cgroup/skb钩子是由systemd加载的。我的问题是在加载相同类型的多个钩子(cgroup_skb/ingress)时内核的行为。

EN

回答 1

Stack Overflow用户

发布于 2022-03-09 15:47:26

是。所有的钩子都会被调用。我们需要附加“多”关键字。

测试1.o /sys/fs/bpf/test1 1类型cgroup/skb

bpftool附加/sys/fs/ cgroup /mygrp/mygrp /sys/fs/bpf/test1 1 multi

测试2.o /sys/fs/bpf/test2 2类型cgroup/skb

bpftool附加/sys/fs/ cgroup /mygrp/mygrp /sys/fs/bpf/test2 2 multi

我的简单程序具有不同的调试打印语句(test2.c):SEC("cgroup/skb") int cgrp_dump_pkt(struct __sk_buff *skb) {

代码语言:javascript
复制
bpf_printk("welcome test 2");
return 1;

}

平-446804,000天.374792.037025: bpf_trace_printk:欢迎测试1

平-446804,000天.374792.037038: bpf_trace_printk:欢迎测试2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71406075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档