Linux:network:driver:mlx5:mtu:rx_oversize_pkts_sw_drop

文章目录

  • 问题描述
  • 分析
  • 代码
  • 相关commit
  • driver

问题描述

最近遇到一例,收到的包比较大的时候丢包的问题。

分析

使用tcpdump没有抓到这个大包,后续使用ethtool看有下面的计数:
#ethtool -S ac | grep sw_drop
rx_oversize_pkts_sw_drop: 2942431

这个计数的理解是:收到了超过限定大小的包,软件丢弃包;

代码

增加计数的原因是这个cqe_bcnt 超过了hw_mtu,导致丢包。从代码逻辑这个hw_mtu的值就是ip link里显示出来的mtu值。

	/* Check packet size. Note LRO doesn't use linear SKB */
	if (unlikely(cqe_bcnt > rq

你可能感兴趣的:(网络,linux,mlx,网络)