【发布时间】:2019-04-01 00:15:42
【问题描述】:
我正在写一个sockmap BPF program,我想知道这样一个程序的要求是什么。一个 sockmap 可能有一个parser and a verdict program attached,所以我的问题是在将套接字添加到地图之前是否需要任何一个程序,如果两者都不需要,那么当任一程序被省略时会发生什么行为。
一些令人困惑的相关陈述说明了我为什么会有这个问题:
- If no BPF programs are attached the sock object may only be used for sock redirect - 我认为这意味着重定向是通过某种方式编程的,而不是附加到 sock 映射本身的判定程序?
- It's important to attach SOCKMAP to both parser and verdict programs - 这意味着解析器和判断程序都是必需的,即一个不能没有另一个就存在?
- recv_sock -> str_parser (parse_prog) -> verdict_prog -> skb_send_sock - 这个 ASCII 图表似乎还暗示,如果省略解析程序,判断程序将不会收到任何可采取的行动?
【问题讨论】:
标签: linux sockets linux-kernel bpf ebpf