]> git.puffer.fish Git - matthieu/frr.git/commit
ospfd: blackhole route removal for area range
authorJR Rivers <jrrivers@cumulusnetworks.com>
Mon, 24 Sep 2012 17:26:46 +0000 (17:26 +0000)
committerDavid Lamparter <equinox@opensourcerouting.org>
Thu, 25 Oct 2012 17:15:58 +0000 (10:15 -0700)
commit8fc9e007ee752a982fe47311702d7ff3b9c5b5cd
tree8dd5ef95e303d34f1045afe538f44a07dab017d3
parentd8a4e42b7d19a87eacc00c825e913907a58f39ee
ospfd: blackhole route removal for area range

ISSUE

When an area range is created in which there the sub-area has routes that are
smaller than the range, an ABR creates a blackhole route to cover the range.
When the range is removed, the blackhole route is not removed.

--A----B----C---

B is an ABR with A in area 1 and C in area 0.  If A advertises `10.2.0.0/30` and
`10.2.0.4/30` and B is configured with `area 0.0.0.1 range 10.2.0.0/29` a
blackhole is created on B (`blackhole 10.2.0.0/29 proto zebra`).  When the
area/range is removed via the command line, the blackhole remains in existence
even though the "range" route is removed from area 0 and the individual routes
are propagated.

PATCH

The reason for this behavior is that, prior to this patch, the range is deleted
from the area's list, so when ospf_abr_manage_discard_routes() gets called,
there is nothing to clean up.  The patch removes the discard route as part of
the processing of the command line (ospf_area_range_unset()).

Signed-off-by: JR Rivers <jrrivers@cumulusnetworks.com>
Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>
Reviewed-by: Shrijeet Mukherjee <shm@cumulusnetworks.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
ospfd/ospf_abr.c
ospfd/ospf_route.c
ospfd/ospf_route.h