代码改变世界

socket connect time out

2014-05-23 21:31  chonghui1001  阅读(1961)  评论(0编辑  收藏  举报

  背景:通过socket升级板卡的镜像,主控板和业务板各有一个网口链接在交换芯片上,vxWorks软件环境

  1.业务板主动连接主控板的时候调用connect 返回失败错误发0x3c,开始以为是主控板太忙没有处理,于是把主控等待时间加长,同时查看主控的cpu 利用率发现主控的cpu 利用率很低,但是依然返回超时,这时用inetstatShow 查看主控的socket状态一直处于listened,于是判读客户端的请求报文主控没有收到

  2.用ifShow 查看主控板和业务板直连口的ip发现他们确实在一个网段,手动的ping一下发现两个口ping不同,在业务板上用arpShow发现没有对端的arp,在主控板上打开arp debug然后再业务板上ping主控板的ip地址,发现主控板板上提示arp hldlen is 0表示收到包的mac 长度为0,于是在ifShow 查看接口的mac地址发现mac地址全是0,配置接口的mac后成功