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)
还没有任何评论哟~
