ZYNQ7020多网口不能工作在同一网段的问题与测试报告 – ZYNQ7021学习

  • Post author:
  • Post category:其他



测试环境

ZYNQ7020的开发板上一共有五个以太网网口,

分别给PL端网口配置了同网段的四个IP。



问题描述



从电脑上ping这四个网口时,都能收到回复,但是仔细检查发现,当拔掉三根网线后,仍然能够ping通原设定的其他网口的IP。



测试结果


关于同一网段IP的测试结果,系统启动时按照附录脚本配置网口。首先将网口接在eth1上,在电脑上ping四个PL端网口,四个都ping通了。通过arp指令查询网络路由信息(ARP命令用于显示和修改“地址解析协议(ARP)”缓存中的项目),发现四个PL端网口的物理网口都是同一个网口,即Linux内部将这个四个地址的默认路由到了eth1上。这是由于Linux内核内部的自动路由的原因造成的。

当eth1网线保持连接时,ping 的结果和arp指令查询网络路由信息如下:

而将eth1网线拔掉时,在Linux主机上任何一个网口都ping不通了。

将网线拔掉,单独换到eth2\eth3\eth4,分别ping了一遍后,使用arp指令查询,发现mac地址都发生了变化,但是此时都ping不通。

会不会是先ping了谁导致的出错?重新上电之后先单独测试了eth2\eth3\eth4,发现三个网口都ping不通,但是换到eth1后四个网口都ping通了。



总结



查阅一些资料和别人的博客后发现,这是Linux内核的问题。


当多个PL端网口工作与同一个网段时,只能有第一个配置IP地址的网口可用,其他网口将不能使用。当处于不同网段时,每一个网口都可以随意ping通。修改路由表之后能够实现同一网段的多网口通信。



版权声明:本文为yishuicanhong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。