您好!
我们在繁重的多播环境中工作正常时遇到问题。 TM4C129XNCZAD 性能显著下降、我们开始看到大量 TCP 重新传输。 在 Wireshark 跟踪中、我们看到不同器件的每秒大约1000次多播。 我们对使用 TI-RTOS 的应用程序使用2个多播地址。
除了我们正在使用的2个多播地址之外、是否有办法过滤掉所有内容?
Tivaware 文档似乎表示哈希用于 MAC 地址过滤、而不是多播 IP 地址过滤、但我们仍需要澄清。
EMACHashFilterSet
EMACFrameFilterSet
EMAC_FRMFILTER_Hash-multicast 表示已接收多播帧的目标地址过滤已使用哈希表启用。 如果不存在,则使用完美的目标地址过滤。 如果与 EMAC_FRMFILTER_hash-and_Perfect 结合使用、则此标志指示应将哈希滤波器用于传入的多播数据包以及完美滤波器。
哈希表过滤允许同时过滤多个不同的 MAC 地址,但代价是会产生一些误报结果(当 MAC 地址不是所需地址之一时,采用通过过滤器的数据包的形式)。 计算数据包源或目的 MAC 地址的 CRC、并将底部6位用作64位哈希滤波器表的位索引。 如果哈希表中的位被置位、则认为过滤器已通过。 如果该位清零、则滤波器失败、数据包被拒绝(假设配置的是正常滤波而不是反向滤波)。
谢谢!