ospf mtu的处置经验

出现问题和解决方法

(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

  /* 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;
    }

发现MTU不对,就粗暴的return, 后面的状态机就不再走


参考

http://network.51cto.com/art/201312/422711.htm

你可能感兴趣的:(ospf mtu的处置经验)