1

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

我可以访问每个数据包的本地和远程端口,但我无法确定哪个是源端口或目标端口,因此无法确定方向。这应该可能吗?如果不是,那为什么不呢?

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

4

1 回答 1

1

可能有一些非常优雅的解决方案。我通过使用只有 2 个元素的 sockmap 解决了这个问题:这样,您不必处理方向,因为它微不足道。遗憾的是,使用这种方法,您必须为每个套接字对制作一个 sockmap。

于 2019-07-16T21:39:14.907 回答