]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Unnumbered OSPF interfaces should be always in the point-to-point mode.
authorOndrej Zajicek <santiago@crfreenet.org>
Sun, 7 Feb 2010 08:49:34 +0000 (09:49 +0100)
committerOndrej Zajicek <santiago@crfreenet.org>
Sun, 7 Feb 2010 08:49:34 +0000 (09:49 +0100)
proto/ospf/iface.c

index b90ab9fdce33967ae47fb46a4b3d6dbc1ae1969a..927b8da9bef0c24ee5aa7ef0ef4e3f0c51951a61 100644 (file)
@@ -355,6 +355,9 @@ ospf_open_mc_socket(struct ospf_iface *ifa)
 u8
 ospf_iface_clasify(struct iface * ifa)
 {
+  if (ifa->addr->flags & IA_UNNUMBERED)
+    return OSPF_IT_PTP;
+
   if ((ifa->flags & (IF_MULTIACCESS | IF_MULTICAST)) ==
       (IF_MULTIACCESS | IF_MULTICAST))
     return OSPF_IT_BCAST;
@@ -458,6 +461,16 @@ ospf_iface_new(struct proto_ospf *po, struct iface *iface,
   else
     ifa->type = ip->type;
 
+#ifdef OSPFv2
+  if ((ifa->type != OSPF_IT_PTP) && (ifa->type != OSPF_IT_VLINK) &&
+      (ifa->iface->addr->flags & IA_UNNUMBERED))
+  {
+    log(L_WARN "%s: Missing proper IP prefix on interface %s, forcing point-to-point mode",
+       p->name,  iface->name);
+    ifa->type = OSPF_IT_PTP;
+  }
+#endif
+
   init_list(&ifa->neigh_list);
   init_list(&ifa->nbma_list);