我正在尝试访问fmap,它已经存在于cgroup skb bpf对象文件中,来自tc egress ebpf钩子。
默认情况下,映射是在/sys/fs/bpf/tc/globals/fmap中创建的。但是我想访问tc出口cgroup中的/sys/fs/bpf/fmap。如何将fmap路径传递给tc程序。
tc过滤器添加开发出口bpf对象-文件./parse_simple.o部分-简单直接操作
struct flow
{
__be32 saddr;
__be32 daddr;
};
struct bpf_elf_map SEC("maps") fmap = {
.type = BPF_MAP_TYPE_LRU_HASH,
.size_key = sizeof(struct flow),
.size_value = sizeof(u32),
.pinning = PIN_GLOBAL_NS,
.max_elem = 100,
};发布于 2022-03-09 09:43:50
libbpf bpf_map__pin()可以用来设置引脚路径。因此,如果我将路径设置为PIN_GLOBAL_NS (/sys/fs/bpf/tc/globals),在cgroup skb加载程序中,tc可以访问相同的映射。但我不知道相反的情况(访问非tc基路径示例中的映射:/sys/fs/bpf/fmap)。
https://stackoverflow.com/questions/71381439
复制相似问题