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.

[参考译文] Linux/AM5728:GMAC 和 PRU-Ethenet 之间的桥接不起作用

Guru**** 2553260 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/628076/linux-am5728-bridging-between-gmac-and-pru-ethenet-not-working

器件型号:AM5728

工具/软件:Linux

你好

我正在运行 SDK4.0、802.1d 以太网桥接在内核中处于活动状态。 否则、它都是 IDK5728的标准配置

设置:

-连接到 eth0 、192.168.0.3的 PC

-连接到 eth2 的 PC,192.168.0.4

IDK5728

我在串行控制台上输入:

ifconfig eth0 0.0.0.0

ifconfig eth2 0.0.0.0

brctl addbr mybridge

brctl addf mybridge eth0

我的桥接器 eth2

ifconfig mybridge up

测试1结果:在 PC 之间 ping 不起作用

然后,我为网桥分配了一个 IP 地址:

ifconfig mybridge down

ifconfig mybridge 192.168.0.20子网掩码255.255.255.0

测试2结果:在 PC 之间 ping 不起作用! 但是、我可以从 Sitara ping PC、也可以从 PC ping 桥接器地址。

出什么问题了? 内核中是否缺少任何内容?

感谢您的帮助、Chris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们将对此进行研究。 反馈将发布在此处。

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

    桥在‘“向上”状态之前不会运行。 这可以针对所有三种器件(eth0、eth2、mybridge)完成:

    ifconfig mybridge eth0
    ifconfig mybridge eth2
    ifconfig mybridge up

    现在,网桥应该可以使用,但是在流量开始流动之前可能会有延迟(如果启用了 STP,通常大约为30秒,如果未启用,则为一半)。

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

    你好,Tsvetolin

    正如我最初写的那样、我进行了"ifconfig mybrige up"。 这里是我还执行"ifconfig mybridge eth0、 ifconfig mybridge eth2"时的输出。

    Ping 仍然不起作用。

    root@am57xx-EVM:~# ifconfig eth0 0.0.0.0

    root@am57xx-EVM:~# ifconfig eth2 0.0.0.0

    root@am57xx-EVM:~# brctl addbr mybridge

    root@am57xx-EVM:~# brctl addif mybridge eth0

    [35.851952] mybridge:端口1 (eth0)进入阻塞状态

    [35.857922] mybridge:端口1 (eth0)进入禁用状态

    [35.872327] 器件 eth0进入混杂模式

    root@am57xx-EVM:~# brctl addif mybridge eth2

    [35.911605] mybridge:端口2 (eth2)进入阻塞状态

    [35.917054] mybridge:端口2 (eth2)进入禁用状态

    [35.922989] 器件 eth2进入混杂模式

    root@am57xx-EVM:~#

    root@am57xx-EVM:~# ifconfig mybridge eth0

    ifconfig:错误地址'eth0'

    root@am57xx-EVM:~# ifconfig mybridge eth2

    ifconfig:错误地址'eth2'

    root@am57xx-EVM:~# ifconfig mybridge up

    [36.111355] mybridge:端口2 (eth2)进入阻塞状态

    [36.116787] mybridge:端口2 (eth2)进入转发状态

    [36.122477] mybridge:端口1 (eth0)进入阻塞状态

    [36.127909] mybridge:端口1 (eth0)进入转发状态

    root@am57xx-EVM:~#

    root@am57xx-EVM:~# ifconfig

    eth0   Link encap:以太网 HWaddr FC:0F:4B:9C:12:A0

         inet6 addr:fe80::fe0f:4bff:fe9c:12a0%763860/64范围:链接

         运行多播 MTU:1500 公制:1的上广播

         RX 数据包:186错误:0丢弃:0超限:0帧:0

         TX 数据包:42错误:0丢弃:0超限:0载波:0

         冲突:0 txqueuelen:1000

         RX 字节:18232 (17.8 KiB) TX 字节:6372 (6.2 KiB)

         中断:93

    ETH2   Link encap: Ethernet HWaddr 70:FF:76:1C:11:01

         inet6 addr:fe80::72ff:76ff:fe1c:1101%763860/64范围:链接

         运行多播 MTU:1500 公制:1的上广播

         RX 数据包:0错误:0丢弃:0超限:0帧:0

         TX 数据包:2错误:0丢弃:0超限:0载波:0

         冲突:0 txqueuelen:1000

         RX 字节:0 (0.0 B) TX 字节:180 (180.0 B)

    LO    链路环接:本地环回

         iNet addr:127.0.0.1 掩码:255.0.0.0

         inet6 addr:::1%763860/128范围:主机

         正在运行 MTU:65536 公制:1的上环回

         RX 数据包:166错误:0丢弃:0超限:0帧:0

         TX 数据包:166错误:0丢弃:0超限:0载波:0

         冲突:0 txqueuelen:1

         RX 字节:12688 (12.3 KiB) TX 字节:12688 (12.3 KiB)

    mybridge Link encap:Ethernet HWaddr 70:FF:76:1C:11:01

         inet6 addr:fe80::72ff:76ff:fe1c:1101%763860/64范围:链接

         运行多播 MTU:1500 公制:1的上广播

         RX 数据包:0错误:0丢弃:0超限:0帧:0

         TX 数据包:1错误:0丢弃:0超限:0载波:0

         冲突:0 txqueuelen:1000

         RX 字节:0 (0.0 B) TX 字节:90 (90.0 B)

    root@am57xx-EVM:~# brctl show

    桥接器名称  桥接器 ID        支持 STP 的  接口

    mybridge         8000.70ff761c1101   否        eth0

                                ETH2

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

    你好

    你(们)好

    我更新到了 SDK 4.1。 Eth0和 eth2之间的桥接现在正在发挥作用。

    但是、eth0和 hsr0之间(由 eth2和 eth3制成)不起作用。  

    设置:

    -连接到 eth0、192.168.0.3的 PC

    -通过 Redbox 连接到 eth2/3的 PC,192.168.0.4

    IDK5728

    测试 结果:在 PC 之间 ping 不起作用!  但是、我可以从 Sitara ping PC、也可以从 PC ping 桥接器地址。

    下面是我配置的方式以及命令行输出是什么  

    ifconfig eth0 0.0.0.0

    ifconfig eth2 0.0.0.0 down

    ifconfig eth3 0.0.0.0 down
    ifconfig eth2 HW ether 70:FF:76:1C:11:01
    ifconfig eth3 HW ether 70:FF:76:1C:11:01
    ethtool -K eth0 hSR-rx-offload 开启
    ethtool -K eth0 hSR-rx-offload 开启
    ifconfig eth2 up
    ifconfig eth3 up
    ip link add name hsr0 type hSR slave1 eth2 slave2 eth3 supervision 45 version 1

    ifconfig hsr0 0.0.0.0更新

    brctl addbr mybridge

    brctl addf mybridge eth0

    附加 mybridge hsr0

     ifconfig mybridge up

     命令行输出:

    root@am57xx-EVM:~# ifconfig eth0 0.0.0.0

    root@am57xx-EVM:~#[28.486524]  cpsw 48484000。以太网 eth0:链路向上- 100Mbps/全-流控制 Rx/TX

    [28.494691]  IPv6:ADDRCONF (NETDEV_CHANGE):eth0:链路就绪

     

    root@am57xx-EVM:~# ifconfig eth2 0.0.0.0 down

    [35.211938]  remoteproc remoteproc6:启动4b2b4000.pru0

    [35.222743]  remoteproc remoteproc6:引导 FW 映像 ti-pruss/am57xx-pru0-pruhsr-fw.elf、大小9220

    [35.231904]  ti-pruss 4b280000.pruss:已配置 system_events = 0x0000060000500000 intr 通道= 0x00000095 host_intr = 0x00000115

    [35.246069]  remoteproc remoteproc6:远程处理器4b2b4000.pru0现已启动

    [35.254174]  remoteproc remoteproc7:启动4b2b8000.pru1

    [35.262152]  remoteproc remoteproc7:引导 FW 映像 ti-pruss/am57xx-pru1-pruhsr-fw.elf、大小为9662

    [35.271292]  ti-prusss 4b280000.pruss: configured system_events = 0x0060000000a00000 intr 通道= 0x0000012a host_intr = 0x0000022a

    [35.283260]  remoteproc remoteproc 7:远程处理器4b2b8000.pru1现已启动

    [35.291529]  prueth pruss2_eth eth2:链路向上- 100Mbps/全-流量控制关闭

    [35.297899]  净额 eth2:已开始

    [35.348531]  ti-pruss 4b280000.pruss:未配置的 system_events = 0x000006000050000 host_intr = 0x00000115

    [35.358322]  remoteproc remoteproc6:已停止远程处理器4b2b4000.pru0

    [35.365314]  ti-pruss 4b280000.pruss:未配置的 system_events = 0x0060000000a00000 host_intr = 0x0000022a

    [35.375103]  remoteproc remoteproc 7:已停止远程处理器4b2b8000.pru1

    [35.382016]  Net eth2:Stopped

    root@am57xx-EVM:~# ifconfig eth3 0.0.0.0 down

    [35.411741]  remoteproc remoteproc6:为4b2b4000.pru0加电

    [35.417609]  remoteproc remoteproc6:引导 FW 映像 ti-pruss/am57xx-pru0-pruhsr-fw.elf、大小9220

    [35.426819]  ti-pruss 4b280000.pruss:已配置 system_events = 0x0000060000500000 intr 通道= 0x00000095 host_intr = 0x00000115

    [35.438796]  remoteproc remoteproc6:远程处理器4b2b4000.pru0现已启动

    [35.445892]  remoteproc remoteproc7:开机4b2b8000.pru1

    [35.451745]  remoteproc remoteproc 7:引导 FW 映像 ti-pruss/am57xx-pru1-pruhsr-fw.elf、大小为9662

    [35.460895]  ti-prusss 4b280000.pruss: configured system_events = 0x0060000000a00000 intr 通道= 0x0000012a host_intr = 0x0000022a

    [35.472862]  remoteproc remoteproc7:远程处理器4b2b8000.pru1现已启动

    [35.481133]  prueth pruss2_eth eth3:链路向上- 100Mbps/全-流量控制关闭

    [35.487933]  净额 eth3:已开始

    [35.528498]  ti-pruss 4b280000.pruss:未配置的 system_events = 0x000006000050000 host_intr = 0x00000115

    [35.538287]  remoteproc remoteproc6:已停止远程处理器4b2b4000.pru0

    [35.545280]  ti-pruss 4b280000.pruss:未配置的 system_events = 0x0060000000a00000 host_intr = 0x0000022a

    [35.555068]  remoteproc remoteproc 7:已停止远程处理器4b2b8000.pru1

    [35.561981]  净额 eth3:已停止

    root@am57xx-EVM:~# ifconfig eth2 HW ether 70:FF:76:1C:11:01

    root@am57xx-EVM:~# ifconfig eth3 HW ether 70:FF:76:1C:11:01

    root@am57xx-EVM:~# ethtool -K eth2 HSR-Rx-卸 载打开

    root@am57xx-EVM:~# ethtool -K eth3 HSR-Rx-卸 载打开

    root@am57xx-EVM:~# ifconfig eth2 up

    [70.951663]  remoteproc remoteproc6:为4b2b4000.pru0加电

    [70.957536]  remoteproc remoteproc6:引导 FW 映像 ti-pruss/am57xx-pru0-pruhsr-fw.elf、大小9220

    [70.966752]  ti-pruss 4b280000.pruss:配置的 system_events = 0x0000060000500000 intr 通道= 0x00000095 host_intr = 0x00000115

    [70.978722]  remoteproc remoteproc6:远程处理器4b2b4000.pru0现已启动

    [70.985815]  remoteproc remoteproc7:为4b2b8000.pru1加电

    [70.991665]  remoteproc remoteproc 7:引导固件映像 ti-pruss/am57xx-pru1-pruhsr-fw.elf、大小为9662

    [71.000799]  ti-prusss 4b280000.pruss:已配置 system_events = 0x0060000000a00000 intr 通道= 0x0000012a host_intr = 0x0000022a

    [71.012767]  remoteproc remoteproc 7:远程处理器4b2b8000.pru1现已启动

    [71.021273]  Net eth2:已开始

    root@am57xx-EVM:~# ifconfig eth3 up

    [71.052864]  net eth3:已启动

    root@am57xx-EVM:~# ip link add name hsr0 type HSR slave1 eth2 slave2 eth3 supervision 45 version 1

    [119.038850] 器件 eth2进入混杂模式

    [119.078053] 器件 eth3进入混杂模式

    root@am57xx-EVM:~# ifconfig hsr0 up

    [132.021383] IPv6:ADDRCONF (NETDEV_UP):HSR0:链路未就绪

    [132.027440] IPv6:ADDRCONF (NETDEV_CHANGE):HSR0:链路就绪

    root@am57xx-EVM:~# brctl addbr mybridge

    root@am57xx-EVM:~# brctl addif mybridge eth0

    [142.351223] mybridge:端口1 (eth0)进入阻塞状态

    [142.35776] mybridge:端口1 (eth0)进入禁用状态

    [142.377198] 器件 eth0进入混杂模式

    root@am57xx-EVM:~# brctl addif mybridge hsr0

    [142.411155] mybridge:端口2 (hsr0)进入阻塞状态

    [142.416610] mybridge:端口2 (hsr0)进入禁用状态

    [142.422566] 器件 hsr0进入混杂模式

    root@am57xx-EVM:~# ifconfig mybridge 192.168.0.20 up

    [155.231364] mybridge:端口2 (hsr0)进入阻塞状态

    [155.236798] mybridge:端口2 (hsr0)进入转发状态

    [155.242587] mybridge:端口1 (eth0)进入阻塞状态

    [155.248060] mybridge:端口1 (eth0)进入转发状态

    root@am57xx-EVM:~# ifconfig

    eth0   Link encap:以太网 HWaddr FC:0F:4B:9C:12:A0

         inet6 addr:fe80::fe0f:4bff:fe9c:12a0%763860/64范围:链接

         运行多播 MTU:1500 公制:1的上广播

         RX 数据包:431错误:0丢弃:0超限:0帧:0

         TX 数据包:45错误:0丢弃:0超限:0载波:0

         冲突:0 txqueuelen:1000

         RX 字节:37496 (36.6 KiB) TX 字节:3534 (3.4 KiB)

         中断:93

     

    ETH2   Link encap: Ethernet HWaddr 70:FF:76:1C:11:01

         inet6 addr:fe80::72ff:76ff:fe1c:1101%763860/64范围:链接

         运行多播 MTU:1500 公制:1的上广播

         RX 数据包:159错误:0丢弃:83溢出:0帧:0

         TX 数据包:75错误:0丢弃:0超限:0载波:0

         冲突:0 txqueuelen:1000

         RX 字节:10670 (10.4 KiB) TX 字节:6238 (6.0 KiB)

     

    eth3   Link encap:Ethernet HWaddr 70:FF:76:1C:11:01

         inet6 addr:fe80::72ff:76ff:fe1c:1101%763860/64范围:链接

         运行多播 MTU:1500 公制:1的上广播

         RX 数据包:120错误:0丢弃:57溢出:0帧:0

         TX 数据包:77错误:0丢弃:0超限:0载波:0

         冲突:0 txqueuelen:1000

         RX 字节:8416 (8.2 KiB) TX 字节:6418 (6.2 KiB)

     

    hsr0   Link encap:ethernet HWaddr 70:FF:76:1C:11:01

         inet6 addr:fe80::72ff:76ff:fe1c:1101%763860/64范围:链接

         运行多播 MTU:1494 公制:1的上广播

         RX 数据包:87错误:0丢弃:107超限:0帧:0

         TX 数据包:49错误:0丢弃:0超限:0载波:0

         冲突:0 txqueuelen:1000

         RX 字节:4962 (4.8 KiB) TX 字节:4100 (4.0 KiB)

     

    低     链路环状图:本地环回

         iNet addr:127.0.0.1 掩码:255.0.0.0

         inet6 addr:::1%763860/128范围:主机

         正在运行 MTU:65536 公制:1的上环回

         RX 数据包:0错误:0丢弃:0超限:0帧:0

         TX 数据包:0错误:0丢弃:0超限:0载波:0

         冲突:0 txqueuelen:1

         RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)

     

    mybridge Link encap:Ethernet HWaddr 70:FF:76:1C:11:01

         iNet addr:192.168.0.20 Bcast:192.168.0.255 掩码:255.255.255.0

         inet6 addr:fe80::72ff:76ff:fe1c:1101%763860/64范围:链接

         运行多播 MTU:1494 公制:1的上广播

         RX 数据包:61错误:0丢弃:0超限:0帧:0

         TX 数据包:7错误:0丢弃:0超限:0载波:0

         冲突:0 txqueuelen:1000

         RX 字节:4118 (4.0 KiB) TX 字节:578 (578.0 B)

     

    root@am57xx-EVM:~# brctl show

    桥接器名称   桥接器 ID         支持 STP 的   接口

    mybridge         8000.70ff761c1101    否        eth0

                                hsr0

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

    此问题需要与 PSDK 团队进行更深入的调查、但似乎仍然存在一些限制。

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

    您好 Chris、

    您能告诉我们您的用例是什么? 您是否尝试模仿红框? 根据您的描述、它似乎是 Redbox 的用例、其中传统设备(如连接到 GMAC 接口的 PC (eth0或 eth1))希望与 HSR 网络上的设备通信。 通过 HSR 进行桥接将击败 HSR 的 PRU 硬件卸载(重复检测和删除、节点表更新等)的目的。 这是因为桥接器将以混杂模式配置其下的所有接口。 即 hsr0及其下的从器件(例如、eth2和 eth3)。 这意味着 PRU 固件现在必须在混杂模式下运行、并且必须将物理以太网端口(eth2/eth3)上看到的所有单播/多播数据包转发到绕过直通交换机的 PRU 以太网设备。 处理此用例的正确方法是实施 Redbox、将 Eth0 (CPSW)连接到 HSR 接口。

    Redbox 支持目前不可用、并且计划在未来使用。

    Murali

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

    问题已脱机,但已确认 hsr0接口的 IP 路由工作正常。

    此致、

    弗兰克