]> git.puffer.fish Git - matthieu/frr.git/commit
ospfd: install Type-7 when NSSA area is configured after redistribution
authorAlexander Chernavin <achernavin@netgate.com>
Mon, 12 Apr 2021 13:34:20 +0000 (09:34 -0400)
committerAlexander Chernavin <achernavin@netgate.com>
Mon, 12 Apr 2021 13:34:20 +0000 (09:34 -0400)
commit1c1c342d2a22c9d600c36dde2d7d48c8b6b3ba41
tree05ee35120bdc534f86a8977a10e5409c5981a48a
parent53c42c82deb8e5ee882726c97e62b21e25b03b15
ospfd: install Type-7 when NSSA area is configured after redistribution

Currently, if NSSA area is configured before redistribution is enabled,
Type-7 LSA's are installed and flooded. But if NSSA area is configured
after redistribution is enabled, Type-7 LSA's are not installed.

With this change, when NSSA area is configured, schedule a task that
scans for external LSA's. If they exist, install Type-7 and flood to
all NSSA Areas.

There already was an attempt to fix this problem in 0f321812f where
ospf_asbr_nssa_redist_task() was triggered in ospf_abr_task_timer().
This turns out to be incorrect place for this operation because it's
a one-off operation needed only after "area <ID> nssa" execution. And
ospf_abr_task_timer() is a periodic operation. Triggering
ospf_asbr_nssa_redist_task() in ospf_abr_task_timer() caused a problem
that was fixed in 945eec2b6 making the problem with NSSA area
configured after redistribution actual again.

Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
ospfd/ospf_abr.c
ospfd/ospf_asbr.c
ospfd/ospf_asbr.h
ospfd/ospf_vty.c
ospfd/ospfd.c
ospfd/ospfd.h