From: hasso Date: Tue, 20 Apr 2004 17:25:12 +0000 (+0000) Subject: Some ospfd fixes - [quagga-dev 1032], [quagga-dev 1048], [quagga-dev 1058]. X-Git-Tag: frr-2.0-rc1~3744 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=8585d4e5e2b33f71e347db451df895cfaefdc3a4;p=mirror_frr.git Some ospfd fixes - [quagga-dev 1032], [quagga-dev 1048], [quagga-dev 1058]. --- diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog index 904228c19..87a55111f 100644 --- a/ospfd/ChangeLog +++ b/ospfd/ChangeLog @@ -1,3 +1,11 @@ +2004-04-20 Hasso Tepper + + * 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 * ospf_vty.c: Don't warn that export- and import-list can't be diff --git a/ospfd/ospf_abr.c b/ospfd/ospf_abr.c index 424d1d315..359e3bac4 100644 --- a/ospfd/ospf_abr.c +++ b/ospfd/ospf_abr.c @@ -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", diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c index e3738bedf..300105f49 100644 --- a/ospfd/ospf_zebra.c +++ b/ospfd/ospf_zebra.c @@ -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)) { diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index 89ef21b17..abf898ca6 100644 --- a/ospfd/ospfd.c +++ b/ospfd/ospfd.c @@ -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",