Advertisement

82599ES 光口 无法通过 大包 传输 问题记录表

阅读量:

问题

参考 DPDK 例子程序 ip_fragment.c 来实现分片。

无论采用 I350 电端还是 82599ES 光端,在处理小数据包时均能正常通过;而当数据包规模较大时,则会发现该光端(即 82599ES)会出现性能问题。

场景 I350 电口 82599ES 光口
启用 tx checksum offload 小包可以通过 小包可以通过
启用 tx checksum offload 小包可以通过 小包可以通过
启用 tx checksum offload 大包可以通过 大包不可以通过
不用 tx checksum offload,CPU 填充 checksum 大包可以通过 大包不可以通过

分析

由于采用CPU填充checksum也存在问题。因此可以排除tx checksum offload的问题。由于DPDK处理后的报文通常由多个segment构成,在分析过程中发现82599ES光口的发包函数似乎无法处理多段式的报文发送。因此需要进一步检查发包函数的行为。

查看驱动类型

复制代码
    # get 82599ES pci address 
    lspci | grep Eth
    >	08:00.1 Ethernet controller: Intel Corpor

全部评论 (0)

还没有任何评论哟~