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

关于am335x网口转发包的问题

各位,专家好!

         最近项目测试流量,发现一个问题。它和TI335x的片内工作机制有关。
         我简单说一下,我们现在需要测试网口流量和稳定性,数据从一个phy进一个phy出,中间由mac转发。测试发现CPU占用率100%,linux系统就很卡。
是被一个内核进程占用了ksoftirq/0,就是软中断。这个中断占用率仅在网络数据包传送时提高,所以推断是由它在进行转发工作。
         我们想问一下,在转发网络数据包的时候,335x可不可以设置由mac硬件直接转发,数据包不经过cpu,这样就可以解决这个问题。
         不知道TI335x的MAC有没有硬件直接转发的功能。如果有,请给我们设置的方法或参考链接,如果没有就请告诉我们是不是TI的335x在转发网络数据包的时候,由于mac不能直接转发,数据包必须由linux内核来转发。
         应用层只是使用ifconfig配置了两个ip地址,打开了ipforward命令
          谢谢!
Steven Liu1:

我确认一下,你做这个性能测试的时候,我们的双网口是工作在switch模式下,还是dual standalone MAC模式下?

http://processors.wiki.ti.com/index.php/AM335x_CPSW_(Ethernet)_Driver%27s_Guide

Xihao Li:

回复 Steven Liu1:

在dual standalone MAC 下,另外测试时间较长,在cpu长时间被大量的软中断占用时,有时候会出现网口down掉的现象,内核打印为

davince_mdio.0 : timeout for get useraccess.

PHY 0:01 :Link Down

输入 ip ad命令。显示1网口NO-CARRIER,但是网线在网口中,灯都亮。。。

这个现象感觉是mdio读写超时,PHY没有反映,但是此时重启eth设备ifconfig eth0 down/up,phy还是可以工作的(能ping通)

我想问问,内核打印这样的信息,到底是什么原因造成的,是表示mdio模块没反应了,还是PHY挂掉了?

Xihao Li:

回复 Steven Liu1:

更正一下,内核打印为davinci_mdio davinci_mdio.0: timed out waiting for user access。

测试方式为两张板卡ETH0串联,ETH1分别接入流量测试平台。网口使用的是100M/full ,phy为TP36848,cpu am3352

赞(0)
未经允许不得转载:TI中文支持网 » 关于am335x网口转发包的问题
分享到: 更多 (0)