TI中文支持网
TI专业的中文技术问题搜集分享网站

6678 双网口转发

环境:我们自己的板子有两片6678,pdk_C6678_1_1_2_6,mcsdk_2_01_02_06,bios_6_35_04_50

板子上DPS1的SGMII1接PYH,SGMII0接DSP2的SGMII1,其中DSP1的SGMII1网口已经调通,现在调试DSP0的网口;

我的想法是PC与DSP1传输数据,通过配置DSP1的三端口交换机使数据从DSP1的SGMII1转发到DSP1的SGMII0口,就实现了DSP0网口与PC通信。不知道我的理解是否正确?

目前我已经初始化了DSP1的SGMII0与SGMII1、DSP0的SGMII1,而且两个链路已经显示link up,请问还需要怎样操作来实现DSP2的网口通信?

我也看了官方的GbE文档 2.3.6.5 ALE Packet Forwarding Process,通过配置三端口交换机端口的转发机制,

但是我仍然开始不知道如何去配置,文档也没有说清楚,请问TI的技术人员如何去配置,有没有相关的例子或者代码。

谢谢~

Shine:

c6678只有两个网口,PC和DSP1也是通过网口接?

user6027759:

回复 Shine:

是的

Shine:

回复 user6027759:

dsp1只有两个网口,已经接DSP0和PHY了。

user6027759:

回复 Shine:

是的,我想调试DSP0的网口与PC通信,请问如何配置呢,目前DSP0与DSP1都link上了;
我按照GBE文档的说明进行试验但没有成功,请问需要如何配置,有没有相关的代码?
谢谢~

Shine:

回复 user6027759:

host port通过查询ALE table来确定往哪个port发送,可以参考processor SDK里的网口例程,C:\ti\C6678 SDK 5.03\pdk_c667x_2_0_13\packages\MyExampleProjects\PA_multicoreExample_evmc6678_C66BiosExampleProject
www.ti.com/…/PROCESSOR-SDK-C667X

user6027759:

回复 Shine:

Shine,谢谢你的回复
我查看了你说的那个例程,我发现Switch_update_addr (Uint32 portNum, UInt8 macAddress[6], Uint16 add)函数是就是配置port状态和增加add entries;
另外例程上用了以下的配置,似乎是把每个port绑定一个mac地址if(cpswLpbkMode == CPSW_LOOPBACK_NONE)Switch_update_addr(0, macAddress0, 0);elseSwitch_update_addr(0, macAddress1, 0);Switch_update_addr(1, macAddress1, 0);Switch_update_addr(2, macAddress2, 0);
请问如果我想把port2收到的包转发到port1需要如何配置呢?
谢谢~

user6027759:

回复 Shine:

你好Shine,
我尝试了很多方法还是没有解决这个问题,可以给一点提示或者思路吗?
谢谢~

user6027759:

回复 Shine:

你好,Shine,很感谢你不留余力地帮助。
看了上面的帖子,我是这样理解的:
1.虽然可以在3个端口交换机上交换任何数据包,但是并不推荐这样做;
2.推荐主机接收到数据之后通过主机发送给任意端口(sgmii0或sgmii1);
如果这样做的话,那么相当于PC发送数据给DSP1的SGMII1,然后DSP1的SGMII0发送数据给DSP0的SGMII1,这样就传输了两次肯定会极大的影响传输速率。

Timothy:

您好,请问您这种菊花链式的网络最后成功了吗?我现在有个板卡也是采用这样的设计,前途未卜啊~~~~

赞(0)
未经允许不得转载:TI中文支持网 » 6678 双网口转发
分享到: 更多 (0)