如何确定BPF_PROG_TYPE_SK_SKB判决程序中数据包的方向?

时间:2019-04-07 13:55:33

标签: linux linux-kernel bpf ebpf

我正在编写一个BPF_PROG_TYPE_SK_SKB判决程序来做出重定向决定。如何确定数据包的方向(入口/出口)?

我可以访问每个数据包的local and remote port,但是我无法确定哪个是源端口或目标端口,因此无法确定方向。应该可以吗?如果不是,那为什么呢?

uname -a:Linux ubuntu-bionic 4.18.0-16-generic#17〜18.04.1-Ubuntu SMP Tue Feb 12 13:35:51 UTC 2019 x86_64 x86_64 x86_64 GNU / Linux

1 个答案:

答案 0 :(得分:1)

可能有一些非常优雅的解决方案。我通过仅使用2个元素的sockmap解决了这一问题:这样,您就不必处理方向了,因为它很简单。可悲的是,使用这种方法,您必须为每个套接字对创建一个sockmap。

相关问题