sockmap是否需要任何BPF程序?

时间:2019-04-01 00:15:43

标签: linux sockets linux-kernel bpf ebpf

我正在写一个sockmap BPF program,我想知道这样一个程序的要求是什么。 sockmap可能有一个parser and a verdict program attached,所以我的问题是在将套接字添加到映射之前是否需要使用任何一个程序,如果不需要,那么当省略任何一个程序时会发生什么情况。

一些令人困惑的相关陈述表明了我为什么会有这个问题:

1 个答案:

答案 0 :(得分:0)

在sockmap的当前实现中,该操作需要解析器和判定程序。有一个优化的地方:如果您跳过解析器程序,则默认情况下应返回skb->len,但遗憾的是尚未实现。

  • 除了判决程序外,没有其他方法可以重定向程序。这是必需的,否则您可以将程序放入sockmap,但是什么也不会发生,数据传输就会停止。

  • 更多类似于将解析器和判定程序附加到sockmap。只有按照这种因果顺序才有意义。

  • 是的,就是这样。因此,即使有一个简单的return skb->len程序,您也应该有一个解析器程序。