我正在Linux中寻找一个快速的有状态防火墙,它可以处理大量的包并将其中一些包发送到外部程序。
为了提高性能,是否可以使netfilter(iptables,nftables)与intel dpdk协同工作?

最佳答案

dpdk有一个“内核网络接口”,其工作方式类似于tap/tun设备,但它是零拷贝的。使用这些,您可以在用户空间中执行rx/tx,然后将数据包传递到linux网络堆栈中。我不知道这是否会给你带来很多性能,除了可能会减少一些irq开销。
如果您没有与netfilter结婚,其他一些选择可能是使用一个用户空间bsd网络堆栈(例如libuinet)或dpdk上的rump kernel

07-24 13:08