我想同时并独立的使用AM3359的两个千兆网口,协议栈使用的是LWIP,无操作系统。我该如何配置这两个网口呢?
我使用UDP发送测试了以下:
条件如下:
1)、开启双网口模式 (CPSW_DUAL_MAC_MODE)
2)、配置网口1 源 IP为192.168,0.1 ,端口号位4000 ;目标地址位192.168.0.2 端口号为5000
3)、配置网口2 源 IP为192.168,1.1 ,端口号位4000 ;目标地址位192.168.1.2 端口号为5000
(这里的疑惑是怎么确认两个配置的对应关系呢?)
然后两个网口同时发数据: 使用抓包工具发现只有一个网口在发数据 发来的包源IP都为192.168,1.1 ,而目标IP分别位192.168.0.2 与192.168.1.2
也就是说两个网口的数据从一个端口走了。独立测试却每个端口都是好的。查了很多资料,始终没有结果!
Jian Zhou:
配成不同的网段试一下。
chuang ma:
回复 Jian Zhou:
我的应用不允许那样!现在我只能在两个网口间切换来切换去,就不知道是不是影响网络通信速度!
Jian Zhou:
回复 chuang ma:
请参考双网口工作的3种模式:
http://processors.wiki.ti.com/index.php/SK_ETH
chuang ma:
回复 Jian Zhou:
首先感谢你们的回复!
http://processors.wiki.ti.com/index.php/SK_ETH这个网页中的几种网络配置模式,我感觉
ETH1 (Dual MAC Mode)符合我应用的要求。下面是这种模式的原文:
MAC mode disables the ALE in the AM335x and each of the external Ethernet ports communicates using different MAC addresses. This requires a user level application to send communication upstream or downstream to the two independent networks.
我可以理解成如果我要使用这种模式的话,每个时刻都只能有一个网口在工作吗?也就是一个网口 UP 另一个就必须 DOWN?
我现在就是这么使用的,不过即使是这样使用,感觉配置两个网口的过程中也会遇到问题。我配置过程中就发现第一个网口的端口号4000无法配置成功,老是被篡改成5000。后来没办法所有的源端口号、目标端口号都配置成5000.