能否将sock_ops BPF程序附加到cgroup v1?及具体操作方法
cgroup v1 附加sock_ops的支持情况及操作方法
是的,cgroup v1 支持将sock_ops类型的BPF程序附加到对应cgroup节点上,具体操作步骤如下:
确认net_cls子系统挂载状态
cgroup v1中sock_ops依赖net_cls(或net_prio)子系统,先检查该子系统是否已挂载:mount | grep net_cls若未挂载,执行挂载命令:
mount -t cgroup -o net_cls net_cls /sys/fs/cgroup/net_cls创建目标cgroup(可选)
如果需要使用自定义的cgroup节点,先创建目录:mkdir /sys/fs/cgroup/net_cls/my_sock_cgroup附加sock_ops程序
使用bpftool将已固定的sock_ops程序附加到目标cgroup:bpftool cgroup attach "/sys/fs/cgroup/net_cls/my_sock_cgroup/" sock_ops pinned "/sys/fs/bpf/bpf_sockops"
注意事项
- cgroup v1采用子系统拆分架构,sock_ops只能附加到net_cls或net_prio子系统对应的cgroup路径下,这两个子系统共享同一cgroup树,任选其一即可。
- 若要验证附加是否成功,可执行
bpftool cgroup list "/sys/fs/cgroup/net_cls/my_sock_cgroup/"查看已附加的BPF程序。
内容的提问来源于stack exchange,提问作者Luyao Zhong
相关产品推荐
相关产品推荐

