1

我正在编写一个sockmap BPF 程序,我想知道这样一个程序的要求是什么。一个 sockmap 可能附加了一个解析器和一个判断程序,所以我的问题是在将套接字添加到映射之前是否需要任何一个程序,如果两者都不需要,那么当省略任何一个程序时会发生什么行为。

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

4

1 回答 1

1

在当前的 sockmap 实现中,parser 和 verdict 程序都需要进行操作。有一个优化的地方:如果你跳过解析器程序,skb->len应该默认返回,但遗憾的是,它还没有实现。

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

  • 更像是将解析器和判断程序附加到 sockmap。它们只有在这种因果顺序中才有意义。

  • 是的,就是这样。所以你应该有一个解析器程序,即使是一个简单的程序return skb->len

于 2019-07-16T21:25:04.470 回答