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.

[参考译文] PROCESSOR-SDK-AM62X:如何在硬件开关模式下使用 Linux 的 CPSW3g

Guru**** 2473260 points
Other Parts Discussed in Thread: SK-AM62B

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1463803/processor-sdk-am62x-how-to-use-cpsw3g-in-hw-switch-mode-using-linux

器件型号:PROCESSOR-SDK-AM62X
主题中讨论的其他器件:SK-AM62B

工具与软件:

我们的客户将 Processor SDK Linux 10.01.10.04与 Yocto 配合使用、想要了解如何在硬件开关模式下使用 CPSW3g。

默认情况下、Yocto 预构建的 SD 卡映像似乎在双 EMAC 模式(eth0和 eth1)下使用 CPSW3g。

root@am62xx-EVM:~# ifconfig -A
eth0:flags=4099 MTU 1500
以太网1c:63:49:0f:61:86 txqueuelen 1000 (以太网)
RX 数据包0字节0 (0.0B)
RX 错误0丢弃0溢出0帧0
TX 数据包0字节0 (0.0 B)
TX 错误0丢弃0溢出0载波0冲突0

eth1:flags=4099 MTU 1500
乙醚9a:27:b7:50:C8:f0 txqueuelen 1000 (以太网)
RX 数据包0字节0 (0.0B)
RX 错误0丢弃0溢出0帧0
TX 数据包0字节0 (0.0 B)
TX 错误0丢弃0溢出0载波0冲突0

Lo: flags=73. MTU 65536
INET 127.0.0.1网络掩码255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10.
loop txqueuelen 1000 (本地环回)
RX 数据包10字节1436 (1.4 KiB)
RX 错误0丢弃0溢出0帧0
TX 数据包10字节1436 (1.4 KiB)
TX 错误0丢弃0溢出0载波0冲突0

Yocto SDK 用户手册介绍了 CPSW3g 提供的开关模式功能、但这些配置似乎在桥接模式(br0)下使用 CPSW3g。

https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/10_01_10_04/exports/docs/linux/Foundational_Components Kernel_Drivers 网络/Kernel/CPSW3g.html#multi-port-switch-mode

如何在不使用桥接模式的情况下在开关模式下使用 CPSW3g?

此致、

大辅

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

    您好!

    通过使用以下命令对其进行配置、SK-AM62B 上的两个以太网端口可以充当 PC 和网络之间的桥接器、还可以在 PC 和桥接接口(br0)之间建立通信。

    ip link set dev eth0 down
    ip link set dev eth1 down

    DevLink 开发参数设置 platform/8000000.ethernet 名称 switch_mode 值 true cmode runtime

    IP 链路添加名称 br0类型桥接器
    IP 链路集设备 br0类型网桥老化时间1000
    ip link set dev eth0 up
    ip link set dev eth1 up
    IP 链路集设备 eth0主设备 br0
    IP 链路集 DEV ETH1主器件 br0

    网桥 vlan add dev br0 vid 1自
    网桥 VLAN 添加设备 br0 vid 1 PVID 未标记自我
    如果 VLAN_FILTERING=1、其中 DEFAULT_PVID=1

    udhcpc -i br0

    如何在不使用桥接模式的情况下在交换机模式下使用 CPSW3g?

    我们的客户希望在开关模式下使用 CPSW3g、但不需要桥接模式。

    在开关模式下使用 CPSW3g 是否需要桥接模式?

    如果是、使用上述命令配置的电桥是否在交换机模式下使用硬件而不是软件工作?

    网桥模式通常使用软件桥接多个 NIC (物理网络接口)。

    请尽快回答。 如果您能及时回复、我们将不胜感激。

    此致、

    大辅

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

    尊敬的 TI 支持团队:

    感谢您的支持。 我们的客户正在等待您的回复。

    请尽快回答。 如果您能及时回复、我们将不胜感激。

    此致、

    大辅

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

    您好 Daisuke、

    很抱歉、昨天是 TI 的美国假期。

    如果是这样、使用上述命令配置的网桥是否可以在交换机模式下使用硬件而不是软件工作?

    由于 配置中使用了"devlink dev param set platform/8000000.ethernet name switch_mode value true cmode runtime"、因此从本质上确保了设置是硬件交换机。 硬件交换机和软件交换机之间的主要区别步骤是 devlink 命令。

    在交换机模式下使用 CPSW3g 是否需要桥接模式?

    上层接口(例如发送/接收 TCP/UDP 数据包、流量整形、VLAN 和过滤)需要网桥接口。 只需确保较低层硬件交换机配置中的以太网端口具有可配置的接口来执行这些上层功能。 在网桥命令下方、如果使用"devlink"步骤、则使用硬件切换。

    -道林

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

    尊敬的 Daolin-San:

    感谢您的答复。

    旧版产品 AM335x 的 SDK 不使用桥接接口。 本文档说明 Linux 中没有这样的标准接口来配置交换机。

    software-dl.ti.com/.../CPSW.html
    "CPSW 以太网交换机可配置为以太网数据包转发和阻塞的不同组合。 Linux 中没有这样的标准接口来配置交换机。 本用户指南提供了使用套接字 IOCTL 通过 SIOCSWITCHCONFIG 命令配置开关的界面。"

    这是否意味着桥接接口已成为配置交换机的标准接口?

    此致、

    大辅

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

    尊敬的 Daisuke-San:

    旧产品 AM335x 的 SDK 不使用桥接接口。 该文档说明 Linux 中没有这样的标准接口来配置交换机。
    这是否意味着桥接接口已成为配置交换机的标准接口?

    如前所述、AM335x 上的 Linux 中没有用于通过任何 Linux 实用程序工具配置开关的标准接口。 为 AM335x 配置开关的方法是直接修改 DTS。

    在诸如 AM62x 之类的 K3类器件中、正如本线程先前讨论的命令所示、有标准的 Linux 实用程序工具可用于配置开关、这可以通过以下命令来完成:使用"devlink"命令可将开关配置为硬件开关。

    -道林