出现问题和解决方法
(1)何时关注MTU
从Exstart状态开始,OSPF进程关注来自邻居的DD消息中的 Interface MTU 字段
(2)何时忽略DD
如果接收到的DD消息中Interface MTU值大于本地接口MTU,则忽略此DD消息
(3)MTU不一致结果
接收到DD中的 Interface MTU 与本地接口MTU不一致时,邻接关系卡在 Exstart/Exstart 或 Exstart/Exchange 状态
代码分析如下,
在收到DD包后的处理
/* OSPF Database Description message read -- RFC2328 Section 10.6. */ static void ospf_db_desc (struct ip *iph, struct ospf_header *ospfh, struct stream *s, struct ospf_interface *oi, u_int16_t
/* Check MTU. */ if ((OSPF_IF_PARAM (oi, mtu_ignore) == 0) && (ntohs (dd->mtu) > oi->ifp->mtu)) { zlog_warn ("Packet[DD]: Neighbor %s MTU %u is larger than [%s]'s MTU %u", inet_ntoa (nbr->router_id), ntohs (dd->mtu), IF_NAME (oi), oi->ifp->mtu); return; }
参考
http://network.51cto.com/art/201312/422711.htm