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.

[参考译文] AM6422:交换机模式下 CPSW 网络端口的恢复时间

Guru**** 2387830 points
Other Parts Discussed in Thread: AM6422, TMDS64EVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1496072/am6422-the-recovery-time-of-the-cpsw-network-port-in-switch-mode

器件型号:AM6422
Thread 中讨论的其他器件: TMDS64EVM

工具/软件:

我运行的命令如下:  

、Ω 启用开关模式

IP 链路设置 DEV eth0 down

IP 链路设置 DEV eth1 down

睡眠1

IP 链路设置 dev eth0 up

IP LINK 设置 DEV ETH1 UP

睡眠2

DevLink 开发参数集 platform/8000000.ethernet name switch_mode value true cmode 运行时

睡眠1

ip link add name br0 type bridge

睡眠1

IP 链路集 dev eth0 master br0

IP LINK SET DEV ETH1 MASTER BR0

IP 链路设置 DEV BR0类型桥接器 STP_STATE 1

IP 链路设置设备 br0 up

桥接 VLAN 添加设备 br0 vid 1自身

桥接 VLAN 添加设备 br0 vid 1 PVID 未标记的自身

ip addr add 192.168.1.101/24 dev br0

 

内核日志如下:

 

2我尝试链路 br0上下,发现它恢复的时间需要30秒以上

如您所见、日志显示 br0准备就绪需要30秒、但是、我使用 PC ping 192.168.1.101 (br0 IP)可能需要更多时间、时间似乎是随机的、有时需要超过60秒。

 

3我尝试链路 eth0上下通过拔下电缆,发现它恢复的时间需要60秒以上

此外、内核日志显示30s、但实际上它需要60s。

eth0和 eth1情况相同。

这些恢复时间是我们预期的吗?

感谢您的答复。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您正在运行哪个软件版本、您使用的硬件是什么(TI SK、EVM 或您自己的硬件)?  

     Pekka

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    该软件是 Linux 开发11、硬件 基于 senux 平台构建、而不是基于 TI SDK 构建。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Zitong、  

    HW 基于 senux 平台构建、而不是来自 TI SDK。

    只是为了澄清、这是在 TI AM64x EVM 还是在采用 AM6422的定制设计电路板上进行测试?  

    SW is linux debian11

    该软件不是来自 TI 提供的 Debian (Trixie)映像?  https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-InmvA50mCw/10.01.10.04/tisdk-debian-trixie-rt-am64xx-evm-10.01.10.04.wic.xz 

    能否分享您正在使用的 Linux 内核版本? (通用-A)

    Unknown 说:
    您可以看到、日志显示 br0准备就绪需要30秒、但是、我使用 PC ping 192.168.1.101 (br0 ip)可能需要更多时间、时间似乎是随机的、有时需要超过60秒。

    您能否解释一下如何确定恢复时间为60秒、因为您说日志计时不正确? 另外、您在日志中专门比较哪些时间戳来确定30s?

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Daolin:

    这是一个采用 AM6422的定制设计电路板。

    Linux 内核版本为

    $ uname -A
    Linux Aug 6.1.33-g40c32565ca #1 SMP preemt 星期四7月6日14:17:24 UTC 2023 AArch64 GNU/Linux

    60秒是 ping 再次成功的时间。

    30s 是从我再次链接 br0或再次插入表到日志显示"br0 link 变为就绪"的时间

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zitong:  

    上周、我尝试使用 RT-Linux SDK 10.1在 AM64x EVM (TMDS64EVM)上重现相同问题、但对于链路建立 br0部分、我看不到30秒或更长的恢复时间。 我将在本周重试、并分享我的日志。

    60s 是 ping 再次成功的时间。

    您是在 BR0备份后从主机 PC 手动运行 ping 测试、还是始终在后台运行?

    SW is linux Debian11
    Linux Aug 6.1.33-g40c32565ca #1 preempt Thu Jul 6 14:17:24 UTC ASMP/archlinux 2023[Archex]

    对于使用 Debian 而不是 Linux 或 RT-Linux 的 Yocto 版本、有什么特别的吗?

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Daolin、

      昨天、我们与 TI 团队进行了在线讨论。(Semon 是我们的支持者 M ü)、我尝试了更多测试。 结果如下

    1. 如果禁用 RSTP、则 eth 端口的恢复时间为1-2s。
    2. 如果启用 RSTP、请使用2台 Windows PC (192.168.1.10和192.168.1.20)、连接 CPSW 的2 eth 端口。 我们发现、如果连续 ping、使用命令`ping xxxx -t`、恢复时间会非常长。

    通过数据包捕获工具、我们可以看到来自随机 IP (例如下图为192.168.1.192)的许多 ARP 请求、直到另一台 PC 发出 ping 请求或重新启动当前的 ping 请求、 ARP 请求 IP 恢复到正常状态(192.168.1.20)、另一台 PC 也可以成功 ping 通。

       ...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zitong:  

    如果禁用 RSTP、则 eth 端口的恢复时间为1-2s。
    上周、我尝试查看是否可以在 AM64x EVM (TMDS64EVM)上复制相同的问题、使用0.1/30s 恢复时间、但链接时间不长。

    感谢您指出这一点。 事实上、在我的测试过程中、我没有启用 RSTP、所以这可能是我无法重现问题的原因。

    Unknown 说:
    IP link set dev br0 type bridge stp_state 1

    我查看了您使用的脚本、似乎这是唯一与启用 STP 相关的行。 您是否认为这应该启用 RSTP 而不是 STP? 如果是 STP、根据我的理解、当拓扑发生变化时、恢复时间可能需要30-60秒。

    -道林

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Daolin:

      此脚本实际上仅启用 STP、而不是 RSTP。  

      当我 `下面的脚本时、它会启用 RSTP、并发现如果 I` link br0 down `和` link br0 up 、ping 的恢复时间小于3s

      但另一个问题是 、当我交换 cpsw-eth0和 cpsw-eth1的两根电缆时、恢复时间仍然非常长、PC 可以成功再次 ping、直到另一台 PC 发出 ping 请求。 您能找出原因吗?

    ip link set dev br0 type bridge stp_state 1
    sudo mstpd
    sudo mstpctl setforcevers br0 rstp
    sudo mstpctl addbridge br0

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Zitong、  

    在用于设置 RSTP 的命令中、是否仍需要第一个命令"ip link set dev br0 type bridge stp_state 1"? 当您删除此命令、使用其他命令设置 RSTP 并测试恢复时间时会发生什么情况?

    -道林  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Zitong  

      STP 是旧的生成树协议、链接时间约为60秒、需要改为启用 RSTP、这会使链路快速建立、

      您已经在您的系统中进行了验证

      此主题可以关闭

    此致

      Semon

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Daolin:

      删除该命令完全解决了我的问题、谢谢。