工具/软件:
SDK 10.01.10.04 RT Linux
广播消息限制为每秒1100个数据包
多播消息限制为每秒200个数据包
如何配置 CPSW?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
SDK 10.01.10.04 RT Linux
广播消息限制为每秒1100个数据包
多播消息限制为每秒200个数据包
如何配置 CPSW?
您好、Jou:
您目前是在 AM62x TI EVM 还是定制电路板上进行开发?
Unknown 说:广播消息限制为每秒1100个数据包
多播消息限制为每秒200个数据包
如何配置 CPSW?
您是否查看了以下页面、以了解该方法是否可用于您的应用? 您的要求以"每秒数据包数"为单位、但使用 tc 过滤器时的速率限制似乎是按每秒位数来衡量的。 在您的情况下、每个数据包的位数是多少、或者您是否能够以 Mbps 的速率重新定义您的要求?
此外、以下方法也可以是一种限制入口流量速率的方法。 虽然我还没有尝试过、但这可能是一种配置、可以根据广播和多播消息限制入口数据包的方法。
-道林
您好、Jou:
此外、以下方法也可以限制入口流量。 虽然我还没有尝试过、但它可能配置为根据广播和多播消息限制入口数据包。
我意识到我从来没有插入这个方法的线程。 虽然这种方法也使用 TC、但它确实允许限制入口/入口流量。
-道林
您好、Jou:
因此需要在 CPSW 硬件中实现广播和多播消息限制
在内部进行检查后、CPSW 仅根据硬件方面进行检查、可以根据地址阻止多播数据包。
就广播数据包而言、根据 AM62x TRM 第12.3.1.4.6.1.9节"地址表"条目:"全1的多播地址是可添加到表中的广播地址"。
请参阅 AM62x TRM 中的12.3.1.4.6.1.16数据包转发过程和12.3.1.4.6.1.16.1入口过滤过程、以查看丢弃数据包所需满足的条件列表。
具体而言、以下情况可能与丢弃多播/广播数据包最为相关。
"IF ((ENABLE_RATE_LIMIT)和(超出速率限制) AND (不是 BCAST_MCAST_CTL)
然后是((找到多播/广播目标地址)和(非超级地址)或(未找到多播/广播目标地址))
然后丢弃数据包"
就 Linux 软件支持而言、据我所知、我不知道我们是否有针对多播/广播入口点的软件支持、尽管我正在尝试咨询软件开发团队。
-道林
您好、Jou:
要求限制 CPSW 硬件层的流量。
您能否具体说明一下限制 CPSW 硬件层的流量是什么意思? 您的意思是限制通过 RX 队列的流量的速率吗?
首先、您可以尝试一下 https://lore.kernel.org/all/20220412102929.30719-1-grygorii.strashko@ti.com/?中给出的示例吗 看看它是否起作用?
Examples: - BC rate limit to 1000pps: tc qdisc add dev eth0 clsact tc filter add dev eth0 ingress flower skip_sw dst_mac ff:ff:ff:ff:ff:ff \ action police pkts_rate 1000 pkts_burst 1 drop - MC rate limit to 20000pps: tc qdisc add dev eth0 clsact tc filter add dev eth0 ingress flower skip_sw dst_mac 01:00:00:00:00:00/01:00:00:00:00:00 \ action police rate pkts_rate 20000 pkts_burst 1 drop
-道林
非常感谢您的帮助! 问题已解决。
tc 过滤器添加 DEV eth0入口花 SKIP_SW dst_mac 01:00:00:00:00:00:00:00:00:00:00:00 操作警察速率 pkts_rate 20000 pkts_burst 1滴
需要将此命令修改为
tc 过滤器添加 DEV eth1入口花 SKIP_SW dst_mac 01:00:00:00:00/01:00:00:00:00:00:00:00 操作警察 pkts_rate 1200 pkts_burst 1滴