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:将以太网更改为开关模式

Guru**** 2392905 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1476369/am6422-change-ethernet-to-switch-mode

器件型号:AM6422

工具/软件:

您好的团队、

这是代表客户发布的。

是否可以更改 DTS 文件以 实现切换模式?

我们希望使用 netifd.service 来配置我们的桥接器和 IP 地址、运行 netifd 服务后、devlink 命令似乎不起作用。

此致、

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

    您好 Ying Zhou、

    Unknown 说:
    我们要使用 netifd.service 来配置我们的网桥和 IP 地址、运行 neifd 服务后、devlink 命令似乎不起作用。

    您能向我指出什么特定的 devlink 命令无法正常工作、以及使用此 devlink 命令时日志显示的内容吗?

    客户使用的 SDK 版本是什么?

    这是在定制设计的电路板还是 TI AM64x EVM 上?

    Unknown 说:
    是否有方法只需更改 dts 文件即可 实现切换模式?

    是否为 PRU_ICSSG 以太网接口或 CPSW 以太网接口配置交换机模式?

    请注意、对于最新的 SDK、配置开关模式不需要 DTS 配置、如下所示

    CPSW 以太网: https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/latest/exports/docs/linux/CPSW/Kernel/TCP/Network/CPSW3g.html#multi-port-switch-mode Foundational_Components Kernel_Drivers

    PRU_ICSSG 以太网: https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/latest/exports/docs/linux/Foundational_Components PRU-ICSS/PRU-ICSS/PRU_ICSSG Ethernet_Switch Linux_Drivers

    -道林

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

    您好  Daolin、

    感谢您的支持。

    有客户的回应,请进一步支持,非常感谢。

    我使用  TI AM64x EVM、我想配置 CPSW 以太网接口的开关模式。

    在仅 EMAC 模式下、我们使用/etc/config/network 配置以太网:

    config interface 'lan'
            option type 'bridge'
            option ifname 'eth0 eth1'
            option proto 'static'
            option ipaddr '192.168.1.101'
            #option gateway '172.16.88.1'
            option netmask '255.255.255.0'
            option ip6assign '60'
            option stp '1'
            option rstp '1'

    但当我通过运行命令将其转换为切换模式时:

    devlink dev param set platform/8000000.ethernet name switch_mode value true cmode runtime

    日志显示:

    但以太网无法正常工作。

     如果您有任何建议、我将非常感谢、谢谢。

    顺便说一句,我尝试取消 UCI 网络配置,重新启动计算机,并运行下面的脚本,它是有效的。

    #!/bin/bash
    
    ip link set dev eth0 down
    ip link set dev eth1 down
    sleep 1
    ip link set dev eth0 up
    ip link set dev eth1 up
    sleep 2
    devlink dev param set platform/8000000.ethernet name switch_mode value true cmode runtime
    sleep 1
    ip link add name br0 type bridge
    ip link set dev br0 type bridge ageing_time 1000
    sleep 1
    ip link set dev eth0 master br0
    ip link set dev eth1 master br0
    ip link set dev br0 type bridge stp_state 1
    ip link set dev br0 up
    bridge vlan add dev br0 vid 1 self
    bridge vlan add dev br0 vid 1 pvid untagged self
    #udhcpc -i br0
    ip addr add 192.168.1.101/24 dev br0

    但每次都无法运行此脚本、我仍然希望使用 UCI 来配置我的网络、   

    也许它有一些事情要做的运行 devlink 和 netifd.service 的顺序,也许 UCI 配置应该添加一些东西,我不知道。

    此致、

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

    您好 Ying Zhou、

    感谢您分享客户的回复、如果这对您和客户来说更容易、我们可以将此主题移至公共 E2E 论坛、以便他们直接回复。请告诉我这是否适合您/您的想法。

    [引述 userid="540312" url="~/support/processors-group/processors---internal/f/processors---internal-forum/1476369/am6422-change-ethernet-to-switch-mode/5669116 #5669116"]

    但每次都无法运行此脚本、我仍然希望使用 UCI 来配置我的网络、   

    也许它有一些事情要做的运行 devlink 和 netifd.service 的顺序,也许 UCI 配置应该添加一些东西,我不知道。

    [/报价]

    使用此 netifd.service 配置桥接器和 IP 地址后、您似乎正在运行 devlink 命令。 如您所述,我认为 devlink 必须按照您共享的脚本中的相同顺序运行(即在桥接器设置之前)。  

    有几点建议

    1.是否可以在 netifd.service 启动之前尝试运行 devlink 命令? 我不确定 netifd.service 是一个在启动时自动启动的守护程序、如果是、可以在运行 netifd.service 之前将 devlink 命令配置为作为 systemd 类型的服务运行?

    2.由于您的目标似乎是自动进行切换模式设置,可能是在启动时进行配置,也许您可以编写一个自定义的 systemd 服务来启动您在启动时自动共享的脚本,而不是使用此 netifd.service。

    -道林

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

    尊敬的  Daolin:

    感谢您的支持,我已将帖子移至公共论坛,您可以直接与客户沟通,请等待客户的回复

    此致、

    凯瑟琳

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

    1、我已经尝试运行 devlink 命令作为服务,把它放在 netifd.service 之前或之后,但它不能工作,不幸的是, eth 端口无法完全工作。

    2、我无法以服务的形式运行整个脚本、因为我要使用 UCI (/etc/config/network)来配置我的 eth 工具。

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

    您好、Zitong、  

    1、我已尝试将 devlink 命令作为服务运行、将其放在 netifd.service 之前或之后、但它无法正常工作、不幸的是、eth 端口无法完全正常工作。

    我对 netifd.service 不太熟悉、一个问题是您是否确定您在/etc/config/network 中所做的配置与用于配置桥接器接口的以下脚本命令等效、尤其是下面的 vid 配置?

    ip link add name br0 type bridge
    ip link set dev br0 type bridge ageing_time 1000
    sleep 1
    ip link set dev eth0 master br0
    ip link set dev eth1 master br0
    ip link set dev br0 type bridge stp_state 1
    ip link set dev br0 up
    bridge vlan add dev br0 vid 1 self <- vid configuration
    bridge vlan add dev br0 vid 1 pvid untagged self <- vid configuration
    #udhcpc -i br0
    ip addr add 192.168.1.101/24 dev br0

    请注意、TI 可以帮助解决与 TI 特定驱动器相关的问题、但当涉及到应用特定问题、包括如何使用 netifd.service 启用开关模式时、这超出了 TI 支持的范围、因为我们不会专门展示 netifd.service 的使用示例。

    -道林

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

    顺便说一句,我想知道 devlink 命令是将 eth 转换为切换模式的唯一方法吗?

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

    我也有一个问题、当执行 devlink 命令时、理论上、eth 端口应该更改为硬件中的切换模式。 但 为什么我们需要设置 eth0和 eth1进行桥接?  

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

    您好、Zitong、  

    我想知道 devlink 命令是将 eth 转换为切换模式的唯一方法吗?

    据我所知、这是我们 SDK 文档中指示用于配置硬件切换的内容。 如果您跳过使用 devlink、您仍然可以使用序列中的其他命令配置交换机;但是、交换机将在软件中而不是在硬件中工作。 软件交换意味着每个以太网数据包都需要通过更多网络层、因此与硬件交换机相比、交换延迟更大。

    执行 devlink 命令后、理论上、eth 端口应更改为硬件中的切换模式。 但 为什么我们需要设置 eth0和 eth1进行桥接?  [/报价]

    仍然需要将 eth0和 eth1接口添加到 br0接口(本质上、br0就像虚拟接口)、以便有一个用于上层连接的接口。 有关更多详细信息、请参阅此处的回复: 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/5618583#5618583

    -道林

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

    您好、Zitong、

    "我不会告你的,因为我不会告你的。" 如果您没有收到回复、请在4月初对该线程执行 ping 操作。

    此致、

    Nick

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

    您好、

    我将与开发团队讨论此问题、并在明天或周四发布有关后续可能步骤的最新信息。

    此致、

    Schuyler

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

    尊敬的 Schuyler:

    此外、在配置为切换模式后、我尝试建立链路、使端口恢复大约需要1分钟、这是我们预期的吗?

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

    您好、

    我不确定这是否符合预期、我必须与开发人员进一步讨论。

    关于在 DTS 中启用开关/桥接模式的问题、以前这种方法在早期器件中是、但几年前发生了变化。 网桥配置涉及创建网桥接口的虚拟化过程。  如果可能、我们将进行研究。

    我们还在查看您报告的错误。

    此致、

    Schuyler

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

    嗨、Schuyler

    请问您在此处是否有进一步的更新? 谢谢

    Zekun

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

    尊敬的 Zekun:  

    很抱歉耽误时间、我将再次与开发人员核实。

    此致、

    Schuyler

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

    嗨、Schuyler

    根据 Dallin 的反馈、这个问题似乎更像是应用层问题。 您对此有何进一步反馈?  
    此致

    Zekun

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

    正如面对面所述、客户已成功切换模式、请关闭这个模式。

    此致

    Zekun

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、在 eth 配置为切换模式后、我尝试将 eth 关闭和打开链接、eth 端口恢复需要近1分钟的时间、这是我们

    您好、Zitong

       在您的系统中、如果启用了 RSTP 协议、则此协议将影响网络运行时间、

       如果已启用 RSTP 协议、请尝试禁用该协议。  

       将2台 PC 连接到 CPSW-3G 端口进行测试

    此致

      Semon