【发布时间】:2017-11-23 12:33:14
【问题描述】:
我正在运行一些数据吞吐量测试,方法是使用 iperf 通过对这些数据包进行某种处理的 VM 发送 UDP 数据包。
我的应用程序在混杂模式下运行,因此它会拾取所有数据包。
我看到我的应用程序丢弃了一些数据包,但我的应用程序计数器显示这不是由于任何减速或故障造成的。
我在我的应用程序中放了一些日志,他们建议以太网框架本身可能已损坏。
我还在 iperf 机器和数据包处理器的 vnic 上运行 tcpdump,但这些数据包从未出现在跟踪中。我希望看到损坏的数据包出现在跟踪中。 命令如下所示:
tcpdump -i vnet11 -C 100 -w iperf.pcap
tcpdump -i vnet7 -C 100 -w sgi.pcap
我的疑问是,如果以太网帧本身损坏并且目标 MAC 本身与 vnet7 或 vnet11 的 MAC 地址不匹配,tcpdump 会捕获这些数据包吗?
编辑: 令我震惊的是,如果以太网帧本身损坏导致目标 MAC 不匹配,那么 linuxbridge 首先不会将该数据包发送到我的数据包处理器的 vnet 接口。所以 tcpdump 没有任何东西可以在这里捕获。 请忽略这个问题。
【问题讨论】:
-
如果您愿意,您实际上可以删除您的问题。
-
我觉得你的问题确实值得回答。
标签: networking ethernet tcpdump libpcap tshark