关闭

ospf mtu的处置经验

401人阅读 评论(0) 收藏 举报
分类:

出现问题和解决方法

(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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:223931次
    • 积分:8143
    • 等级:
    • 排名:第2457名
    • 原创:611篇
    • 转载:52篇
    • 译文:4篇
    • 评论:40条
    文章分类
    最新评论