mirror_frr/ospfd
Olivier Dugeon 731271b0bd ospfd: Solve crash after removing and adding conf.
Issue number #6291 describes how OSPFd crashes after being deleted and then
added again with configuration when segment routing is used.

The problem occurs in ospf_ri.c because the OspfRI structures retains
the reference to the old area pointer which is mofified when ospfd is
reactivated by configuration. When segment routing is activated, the LSA Router
Information is sent with reference to the old area pointer, instead the new one,
which causes the crash. The same problem is also present in ospf_ext.c with
OspfEXT structure and Extended Link/Prefix structure.

This commit introduces Extended Link/Prefix and Router Information LSAs flusing
when OSPFd is stopped when configuration is removed and adds the correct
initialization to the area pointer in OspfRI and Extended Link/Prefix structure
when OSPFd is re-enabled with the configuration. Area pointer has been removed
from the OspfEXT structure as it is never used with this commit.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2020-05-26 11:57:04 +02:00
..
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
ChangeLog.opaque.txt Initial revision 2003-02-03 16:31:16 +00:00
Makefile build: non-recursive ospf* 2017-08-04 11:09:50 +02:00
ospf_abr.c *: Do not cast to the same type 2020-04-08 17:15:06 +03:00
ospf_abr.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ospf_api.c ospfd: Limit possible message read to our buffer size 2020-04-22 07:31:07 -04:00
ospf_api.h ospfd: Remove ORIGINAL_CODING check 2019-11-19 07:47:19 -05:00
ospf_apiserver.c ospfd: clean up SA warning 2019-12-05 16:12:09 -05:00
ospf_apiserver.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ospf_asbr.c *: don't null after XFREE; XFREE does this itself 2020-02-03 11:22:13 -05:00
ospf_asbr.h ospfd: Remove unused function 2018-08-21 08:40:51 -04:00
ospf_ase.c *: sprintf -> snprintf 2020-04-20 19:14:33 -04:00
ospf_ase.h *: reindent 2017-07-17 14:04:07 +02:00
ospf_bfd.c ospf: BFD down not tearing down OSPF adjacency for point-to-point network 2019-10-31 11:11:44 +00:00
ospf_bfd.h bgpd/ospfd: make bgp and ospf json response a bit more consistent 2018-08-30 12:40:18 +00:00
ospf_dump_api.c *: sprintf -> snprintf 2020-04-20 19:14:33 -04:00
ospf_dump_api.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ospf_dump.c *: sprintf -> snprintf 2020-04-20 19:14:33 -04:00
ospf_dump.h ospfd: The ip header dump is crazy long and useless 2019-11-19 07:47:19 -05:00
ospf_errors.c *: Fix spelling errors pointed out by debian packaging 2019-08-19 10:36:53 -04:00
ospf_errors.h ospfd: ospfd core if hello packet exceeds link MTU 2019-01-27 20:27:58 -08:00
ospf_ext.c ospfd: Solve crash after removing and adding conf. 2020-05-26 11:57:04 +02:00
ospf_ext.h ospfd: Solve crash after removing and adding conf. 2020-05-26 11:57:04 +02:00
ospf_flood.c *: Replace __PRETTY_FUNCTION__/__FUNCTION__ to __func__ 2020-03-05 20:23:23 +02:00
ospf_flood.h ospfd: OSPFv2 VRF Support 2017-10-03 09:15:19 -07:00
ospf_ia.c bgpd isisd ospf6d ospfd: variable shadowing fixes 2018-09-12 16:44:36 +02:00
ospf_ia.h *: reindent 2017-07-17 14:04:07 +02:00
ospf_interface.c *: Replace __PRETTY_FUNCTION__/__FUNCTION__ to __func__ 2020-03-05 20:23:23 +02:00
ospf_interface.h eigrpd, ospfd, pimd: Fix assumption that interface may not be up 2019-12-04 14:23:20 -05:00
ospf_ism.c ospfd: Fix 4 levels of unnecessary indentation 2020-03-04 12:50:57 -05:00
ospf_ism.h ospfd: Do not turn on write thread unless we have something in it 2019-08-30 16:48:07 -04:00
ospf_lsa.c Merge pull request #6262 from qlyoung/remove-sprintf 2020-04-23 20:27:26 +02:00
ospf_lsa.h Revert "ospfd: remove default origin max age lsa" 2019-08-02 11:29:03 +02:00
ospf_lsdb.c ospfd: replace pqueue_* with DECLARE_SKIPLIST 2019-04-27 19:33:45 +02:00
ospf_lsdb.h ospfd: replace pqueue_* with DECLARE_SKIPLIST 2019-04-27 19:33:45 +02:00
ospf_main.c *: include vrf northbound module in init 2020-04-16 08:00:15 -07:00
ospf_memory.c OSPF: Add support to multi-area to Router Info. 2018-11-09 10:09:47 +01:00
ospf_memory.h OSPF: Add support to multi-area to Router Info. 2018-11-09 10:09:47 +01:00
ospf_neighbor.c ospfd: nbr->oi is never null 2019-11-21 18:47:13 -05:00
ospf_neighbor.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ospf_network.c *: frr_elevate_privs -> frr_with_privs 2019-09-03 17:18:35 +02:00
ospf_network.h ospfd: basic support for VRF NETNS backend 2018-02-27 11:11:24 +01:00
ospf_nsm.c *: replace all random() calls 2020-04-17 20:57:43 -03:00
ospf_nsm.h *: reindent 2017-07-17 14:04:07 +02:00
ospf_opaque.c *: Do not cast to the same type 2020-04-08 17:15:06 +03:00
ospf_opaque.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ospf_packet.c Merge pull request #6218 from qlyoung/fix-ospf-router-lsa-missing-length-check 2020-04-14 19:49:53 +02:00
ospf_packet.h ospfd: tighten up what functions can be used outside of ospf_packet.c 2019-08-30 16:48:07 -04:00
ospf_ri.c ospfd: Solve crash after removing and adding conf. 2020-05-26 11:57:04 +02:00
ospf_ri.h OSPF: Add support to multi-area to Router Info. 2018-11-09 10:09:47 +01:00
ospf_route.c *: remove tabs from log messages 2020-03-24 18:47:12 +01:00
ospf_route.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ospf_routemap.c *: make all route_map_rule_cmd const 2019-11-30 00:38:32 +01:00
ospf_snmp.c ospfd: Fix possible null deref 2020-04-16 20:16:02 -04:00
ospf_spf.c *: remove tabs from log messages 2020-03-24 18:47:12 +01:00
ospf_spf.h ospfd: replace pqueue_* with DECLARE_SKIPLIST 2019-04-27 19:33:45 +02:00
ospf_sr.c *: sprintf -> snprintf 2020-04-20 19:14:33 -04:00
ospf_sr.h zebra: identify MPLS FTNs by route type and instance 2019-09-06 21:06:11 -03:00
ospf_te.c *: Do not cast to the same type 2020-04-08 17:15:06 +03:00
ospf_te.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ospf_vty.c *: manually remove some more sprintf 2020-04-20 19:14:33 -04:00
ospf_vty.h ospfd: buffer termination (Coverity 23089) 2018-06-14 17:43:19 +02:00
ospf_zebra.c *: Do not cast to the same type 2020-04-08 17:15:06 +03:00
ospf_zebra.h *: Convert zapi->interface_delete to ifp callback 2019-09-19 13:34:06 -04:00
OSPF-ALIGNMENT.txt *: Remove cvs control points 2017-12-05 17:28:12 -05:00
ospfd.c *: Do not cast to the same type 2020-04-08 17:15:06 +03:00
ospfd.conf.sample Initial revision 2002-12-13 20:15:29 +00:00
ospfd.h ospfd: use new defaults mechanism (v2) 2019-12-06 15:13:32 +01:00
subdir.am build: make clippy Makefile rules nicer 2020-04-27 09:52:41 +02:00