工具/软件:
基本信息:
phyCORE-AM64x 模块
TI SDK 版本:10.01.10
Linux 内核版本:6.12.43
问题:
当我们执行重新引导循环测试时、设备会持续自行软重新引导、我们最终会进入以太网无法接收传入的 IPv6 邻居请求数据包的状态。 症状是外部设备无法 ping 设备的 IPv6 链路本地地址。
我们知道以太网硬件正在接收多播邻居请求数据包、因为我们每秒 ping 一次器件、并且可以看到网络数据包计数器 (ethtool -S、ip -s link) 随 ping 一起递增。 但是、我们无法看到这些带有 tcpdump 的数据包。 数据包在某处丢弃。
出现以下操作来解决该问题:
*软重启。
*从 AM6442 器件到外部世界的 Ping。
*从外部世界 ping IPv6 链路本地地址 FF02::1.
*启用 allmulti 或混杂标志,默认情况下在以太网代码中进行硬编码(如果我们等到出现问题,然后尝试启用混杂模式,则问题不会自行修复)。
命令 ip maddr show dev eth0 将显示所有正确的条目。
不调用驱动程序的数据包接收功能。
请就如何调试此问题向我们提供建议。
了解如何找出数据包丢弃的位置会很有用。
学习如何查询以太网硬件的多播表会很有用。
