小编Anu*_*lly的帖子

eBPF 地图:如何从命令行使用 bpftool 进行更新

我正在使用tc将我的eBPF(使用 clang 编译的 C 代码)附加到网络。

我正在使用eBPF Maps来存储一些数据。

具体来说,我用于从 BPF 程序内部bpf_map_update_elem更新eBPF 映射,但我还想程序外部更改映射的内容。

地图结构

struct rt_val {
    int ifaceno;
    int macaddr[6];
};
union key_4 {
    __u32 b32[2];
    __u8 b8[8];
};
struct bpf_map_def SEC("maps") lpm_map_fwd = {
    .type = BPF_MAP_TYPE_LPM_TRIE,
    .key_size = 8,
    .value_size = sizeof(struct rt_val),
    .max_entries = 50,
    .map_flags = BPF_F_NO_PREALLOC,
};
Run Code Online (Sandbox Code Playgroud)

地图更新和查找都很好。

但我想从程序执行外部动态更改 eBPF Map 的内容。

任何有关相同的意见/建议将不胜感激!

资源:

系统细节:

  • uname -r:4.15.0-47-通用
  • OS:Ubuntu …

kernel c

2
推荐指数
1
解决办法
7774
查看次数

标签 统计

c ×1

kernel ×1