【问题标题】:Push to bpf map stack type推送到 bpf 映射堆栈类型
【发布时间】:2021-08-30 22:51:32
【问题描述】:

我正在寻找一种在 Linux 中将数据从用户空间发送到 bpf 程序的方法。 我在用户空间中使用 libbpf,在内核中的 bpf 程序中使用 bpf_helpers。 我现在可以通过 ringbuf 和其他方法将数据从内核发送给用户。 但我想为此使用堆栈和队列。我在用户空间中找不到处理队列或堆栈的函数,我仍然感到困惑。 我的问题是:如何使用堆栈或队列将数据从用户空间发送到 bpf 程序并在我的 bpf 程序中获取它,就像我们在 bcc 中所做的那样,例如在用户空间中使用 bpf['queue'].push 和在 bpf 程序中使用 queue.peek(&val);

感谢您的帮助!

【问题讨论】:

    标签: linux linux-kernel bpf ebpf


    【解决方案1】:

    您应该BPF_MAP_TYPE_QUEUEBPF_MAP_TYPE_STACK 映射使用常用的bpf_map_update_elembpf_map_lookup_elem 函数

    您可以在内核源代码中找到几个示例:

    【讨论】:

    • 谢谢!你也可以回答我的这个question吗?
    猜你喜欢
    • 1970-01-01
    • 2022-07-15
    • 2013-05-21
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 2016-05-31
    • 2011-01-22
    • 1970-01-01
    相关资源
    最近更新 更多