工具/软件:
您好的团队、
这是代表客户发布的。
是否可以更改 DTS 文件以 实现切换模式?
我们希望使用 netifd.service 来配置我们的桥接器和 IP 地址、运行 netifd 服务后、devlink 命令似乎不起作用。
此致、
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.
工具/软件:
您好的团队、
这是代表客户发布的。
是否可以更改 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 配置、如下所示
-道林
您好 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。
-道林
您好、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 的使用示例。
-道林
您好、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
-道林
此外、在 eth 配置为切换模式后、我尝试将 eth 关闭和打开链接、eth 端口恢复需要近1分钟的时间、这是我们
您好、Zitong
在您的系统中、如果启用了 RSTP 协议、则此协议将影响网络运行时间、
如果已启用 RSTP 协议、请尝试禁用该协议。
将2台 PC 连接到 CPSW-3G 端口进行测试
此致
Semon