我们芯片的网口,无论是百兆网卡ETH,还是千兆网卡GMAC,在对接某些switch芯片时(比如88E6071),如果配置了VLAN,可能会网络不通。
网络不通的原因,是IEEE没有明确规定VLAN报文的最小帧长是64字节还是68字节。有的switch芯片是按照最小帧长68字节实现的,而我们芯片的网卡,是按照最小64字节实现的,导致出现了兼容性问题,我们芯片网卡发送的数据包不满足switch芯片的最小帧长要求,数据包被switch丢弃。
遇到这种问题时,解决方案如下:
针对千兆GMAC网卡,修改网卡驱动代码,在驱动发包函数的入口(ndo_start_xmit对应的驱动实现函数),添加如下代码段。 if (skb->len < 68) { int pad_bytes = 68 – skb->len; WARN_ON(pad_bytes <= 0); if (!skb_pad(skb, pad_bytes)) skb_put(skb, pad_bytes); }针对百兆ETH网卡,修改网卡驱动代码,在驱动发包函数的入口(ndo_start_xmit对应的驱动实现函数),添加如下代码段。
if (skb->len < 68) { int pad_bytes = 68 – skb->len; WARN_ON(pad_bytes <= 0); if (!skb_pad(skb, pad_bytes)) { skb_put(skb, pad_bytes); if (skb->ip_summed == CHECKSUM_PARTIAL) skb_checksum_help(skb); } }
友恒律师事务所-霍尔果斯站
友恒律师事务所-侯马站
友恒律师事务所-贺州站
友恒律师事务所-廉江站
友恒律师事务所-塔城站
友恒律师事务所-图们站
友恒律师事务所-子长站
友恒律师事务所-海林站
友恒律师事务所-三亚站
友恒律师事务所-临沧站
友恒律师事务所-东港站
友恒律师事务所-百色站
友恒律师事务所-德阳站
友恒律师事务所-高安站
友恒律师事务所-常宁站
友恒律师事务所-甘孜站
友恒律师事务所-黄山站
友恒律师事务所-吉首站
友恒律师事务所-上饶站
友恒律师事务所-永州站
友恒律师事务所-阿图什站
友恒律师事务所-安宁站
友恒律师事务所-渭南站
友恒律师事务所-通辽站
友恒律师事务所-中山站
友恒律师事务所-庆阳站
友恒律师事务所-娄底站
友恒律师事务所-那曲站
友恒律师事务所-吐鲁番站
友恒律师事务所-资阳站
友恒律师事务所-长沙站
友恒律师事务所-贵阳站
友恒律师事务所-满洲里站
友恒律师事务所-宿迁站
友恒律师事务所-儋州站
友恒律师事务所-枝江站
友恒律师事务所-张家港站
友恒律师事务所-钟祥站
友恒律师事务所-枣庄站
友恒律师事务所-射洪站
友恒律师事务所-根河站
友恒律师事务所-遵义站
友恒律师事务所-阿克苏站
友恒律师事务所-涿州站
友恒律师事务所-呼和浩特站
友恒律师事务所-广州站
友恒律师事务所-佛山站
友恒律师事务所-武夷山站
友恒律师事务所-防城港站
友恒律师事务所-珲春站
友恒律师事务所-珠海站
友恒律师事务所-荆州站
友恒律师事务所-太原站
友恒律师事务所-都江堰站
友恒律师事务所-鹤山站
友恒律师事务所-宁国站
友恒律师事务所-辛集站
友恒律师事务所-乌海站
友恒律师事务所-霸州站
友恒律师事务所-瑞昌站
友恒律师事务所-海宁站
友恒律师事务所-聊城站
友恒律师事务所-温岭站
友恒律师事务所-柳州站
友恒律师事务所-肥城站
友恒律师事务所-莱阳站
友恒律师事务所-池州站
友恒律师事务所-邹平站
友恒律师事务所-江门站
友恒律师事务所-开封站
友恒律师事务所-来宾站
友恒律师事务所-乐平站
友恒律师事务所-江油站
友恒律师事务所-安庆站
友恒律师事务所-巴中站
友恒律师事务所-梧州站
友恒律师事务所-晋中站
友恒律师事务所-浏阳站
友恒律师事务所-平果站
友恒律师事务所-陇南站
友恒律师事务所-泊头站
友恒律师事务所-佳木斯站
友恒律师事务所-邵武站
友恒律师事务所-伊宁站
友恒律师事务所-灯塔站
友恒律师事务所-鄂尔多斯站
友恒律师事务所-海北站
友恒律师事务所-延吉站
友恒律师事务所-江山站
友恒律师事务所-启东站
友恒律师事务所-重庆站
友恒律师事务所-广汉站
友恒律师事务所-北安站
友恒律师事务所-乐陵站
友恒律师事务所-高邮站
友恒律师事务所-宜昌站
友恒律师事务所-克孜勒苏站
友恒律师事务所-烟台站
友恒律师事务所-博乐站
友恒律师事务所-庐山站
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:网口对接switch芯片配置VLAN后网络不通的解决方法 https://www.yhzz.com.cn/a/16567.html