【问题标题】:c - netmap - Tun/tap vs netmap/pf_ring/dpdkc - netmap - Tun/tap vs netmap/pf_ring/dpdk
【发布时间】:2014-10-13 07:16:47
【问题描述】:

Tun/tap 设备会避免安装 netmap/pf_ring/dpdk 吗?如果 tun/tap 允许绕过内核,难道不是一回事吗?

或者那些代码带来了太多的优化,以至于它们超过了 tun os 绕过策略?

最终目标是将 tcp/ip 从内核移植到用户空间,用于测试目的。

这里我不太明白。

谢谢

【问题讨论】:

    标签: networking tcp c stack


    【解决方案1】:

    没有。 对于用户空间 tcpip 实现,请参见 lwip 或 rumpkernel。 您可能知道的 dpdk/pfring/netmap 是关于尽快将数据包发送到用户空间。 tun/tap 是虚拟接口的东西。可能不是你想要的。

    【讨论】:

      【解决方案2】:

      Tun/tap 的性能不是特别好。他们错过了 IP 堆栈,但仍然涉及大量复制。 Profile 一些代码使用它们来查看。我认为直接用户空间网络的最佳选择可能是使用环形缓冲区选项的 AF_PACKET,但这仍然是一个间接环形缓冲区,它会被复制到网卡环形缓冲区,而不是像 dpdk 这样的解决方案那样直接。这取决于您的性能要求 - 如果只是为了测试正确性,任何解决方案都应该没问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-26
        • 2012-08-09
        • 2021-08-15
        相关资源
        最近更新 更多