最近在linux下调试am3359的双以太网,出现一个怪现象:
am3359的板子上电后,从板子ping PC机ping不通,从PC ping板子能ping通。
具体环境如下:
板子双以太网两个不同网段ip地址,通过同一个交换机连到PC,PC只有一块网卡但绑定了2个ip地址。在linux命令提示符下ping PC的任意一个ip地址,在PC上用网络抓包工具看到有arp request和arp reply报文。但是板子的arp表不更新,接下来自然就ping不通。在linux内核源码的cpsw_rx_handler函数和arp_process函数里加printk打印信息,发现这两个函数在PC发出arp reply时未被调用。反过来用PC ping板子时,能正常ping通,上述两个函数被调用,arp表也被更新。
上述现象意味着板子上电后不能主动访问外部ip地址。
请问这是什么问题?