]> git.proxmox.com Git - mirror_frr.git/commitdiff
Some ospfd fixes - [quagga-dev 1032], [quagga-dev 1048], [quagga-dev 1058].
authorhasso <hasso>
Tue, 20 Apr 2004 17:25:12 +0000 (17:25 +0000)
committerhasso <hasso>
Tue, 20 Apr 2004 17:25:12 +0000 (17:25 +0000)
ospfd/ChangeLog
ospfd/ospf_abr.c
ospfd/ospf_zebra.c
ospfd/ospfd.c

index 904228c19937f437427658aa3f5924059e8d2ee3..87a55111fd70caaeb685301b47fff9b273ab889e 100644 (file)
@@ -1,3 +1,11 @@
+2004-04-20 Hasso Tepper <hasso@estpak.ee>
+
+       * ospfd.c: Unset NP flag if area is going to be normal or stub.
+         Fixes UNH OSPF_NSSA.1.2a comment.
+       * ospf_abr.c: Originate default into stub/nssa area even if
+         summaries are disabled.
+       * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8.
+
 2004-04-19 Hasso Tepper <hasso@estpak.ee>
 
        * ospf_vty.c: Don't warn that export- and import-list can't be
index 424d1d3151c46997b8033516b740eed01521fda2..359e3bac4e85091b5f46390b5a173afa5f7771b7 100644 (file)
@@ -1628,9 +1628,6 @@ ospf_abr_announce_stub_defaults (struct ospf *ospf)
       if (OSPF_IS_AREA_BACKBONE (area))
         continue; /* Sanity Check */
 
-      if (area->no_summary)
-        continue;
-
       if (IS_DEBUG_OSPF_EVENT)
       zlog_info ("ospf_abr_announce_stub_defaults(): "
                  "announcing 0.0.0.0/0 to area %s",
index e3738bedf8d4025d0b9f6614f566a3ef7a3ad9e8..300105f492b1997be2ef5b9f515b84b48b6ac8aa 100644 (file)
@@ -794,6 +794,9 @@ ospf_zebra_read_ipv4 (int command, struct zclient *zclient,
   p.prefixlen = stream_getc (s);
   stream_get (&p.prefix, s, PSIZE (p.prefixlen));
 
+  if (IPV4_NET127(ntohl(p.prefix.s_addr)))
+    return 0;
+
   /* Nexthop, ifindex, distance, metric. */
   if (CHECK_FLAG (api.message, ZAPI_MESSAGE_NEXTHOP))
     {
index 89ef21b176c66a3ed14353b821ff6ec23a074d18..abf898ca666763f46435c0be0ee2157ab3b2b1b8 100644 (file)
@@ -982,7 +982,12 @@ ospf_area_type_set (struct ospf_area *area, int type)
       for (node = listhead (area->oiflist); node; nextnode (node))
        if ((oi = getdata (node)) != NULL)
          if (oi->nbr_self != NULL)
-           SET_FLAG (oi->nbr_self->options, OSPF_OPTION_E);
+           {
+#ifdef HAVE_NSSA
+             UNSET_FLAG (oi->nbr_self->options, OSPF_OPTION_NP);
+#endif /* HAVE_NSSA */
+             SET_FLAG (oi->nbr_self->options, OSPF_OPTION_E);
+           }
       break;
     case OSPF_AREA_STUB:
       for (node = listhead (area->oiflist); node; nextnode (node))
@@ -991,6 +996,9 @@ ospf_area_type_set (struct ospf_area *area, int type)
            {
              if (IS_DEBUG_OSPF_EVENT)
                zlog_info ("setting options on %s accordingly", IF_NAME (oi));
+#ifdef HAVE_NSSA
+             UNSET_FLAG (oi->nbr_self->options, OSPF_OPTION_NP);
+#endif /* HAVE_NSSA */
              UNSET_FLAG (oi->nbr_self->options, OSPF_OPTION_E);
              if (IS_DEBUG_OSPF_EVENT)
                zlog_info ("options set on %s: %x",