![Libpcap 使用较新的英特尔网卡丢弃数据包](https://linux22.com/image/1350900/Libpcap%20%E4%BD%BF%E7%94%A8%E8%BE%83%E6%96%B0%E7%9A%84%E8%8B%B1%E7%89%B9%E5%B0%94%E7%BD%91%E5%8D%A1%E4%B8%A2%E5%BC%83%E6%95%B0%E6%8D%AE%E5%8C%85.png)
我正在将数据包嗅探项目从 Dell PowerEdge R410(带有双 Broadcom 1Gb 集成 NIC)迁移到 Dell PowerEdge R620(带有四 Intel 1521 i350 系列 1Gb 子板 NIC)。我在两个系统上的相同操作系统(Debian Squeeze)上运行完全相同的代码。我在 R620 上遇到一个问题,libpcap 能够从 Intel NIC 检索所有数据包,但我们的软件无法足够快地从 libpcap 回调中获取它们并被丢弃。R410 在相同场景中没有报告任何丢弃的数据包。是否有可能导致 Intel NIC 上出现此类行为的 NIC 驱动程序设置或标志?有没有其他人遇到过这种问题,并且对如何修复它有什么见解?
另外,为了进行健全性检查,我下载并使用了 Tim Carsten 的示例 sniffex.c 程序(http://www.tcpdump.org/pcap.html) 并在两台机器上运行它。 R410 没有丢失数据包,但 R620 丢失了。