大家好
我们使用 tda4vm (master) cpsw9g 交换机同时连接 千兆位 PHY 和 100m PHY。 千兆位 PHY 使用 RGMII 接口、100M PHY 使用 SGMII 接口。 当我们 仅 使用100m PHY 通过 UDP 数据包传输与另一个 tda4vm (从器件)和 MCU 进行通信时、可以不丢失 UDP 数据包、 但是、当我们同时使用 千兆位 PHY 与 PC 通信(使用 iperf 工具测试超过100Mbps 的比特率)时、它将导致主 tda4vm、从 tdas4vm 和 MCU 之间丢失 UDP 数据包。 当使用 iperf 工具的比特率降至约80Mbps 时、测试 与 PC 的千兆位 PHY 通信、 不会丢失 UDP 数据包就可以了。
奇怪的是、cpsw9g 是千兆位接口、为什么会这样呢? 下面显示了连接图。
现在我们发现、当我们使用 iperf 测试 千兆位接口时 、100M 接口还会从 eth1接收 UDP 数据包、因此我猜 cpsw9g 没有 Mac 学习功能、或者此时无法使用。 我们如何从连接100M PHY 的 SGMII 接口过滤 UDP 封包?
此致、
Jason
