mirror_frr/ospfd
Igor Ryzhov ce27a13e90 lib: fix vrf deletion when the last interface is deleted
Currently, we automatically delete an inactive VRF when its last
interface is deleted. This code introduces a couple of crashes because
of the following problems:
- vrf_delete is called before calling if_del hook, so daemons may try to
  dereference an ifp->vrf pointer which is freed
- in if_terminate, we continue to use the VRF in the loop condition
  after the last interface is deleted

This check is needed only when the interface is deleted by the user,
because if the interface is deleted by the system, VRF must still exist
in the system. Move the check to appropriate places to fix crashes.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-11-11 14:57:59 +03: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 ospfd: introduce support for Graceful Restart (restarting mode) 2021-07-05 11:43:02 -03:00
ospf_abr.h ospfd: fix NSSA translator 2020-11-18 23:23:14 -08:00
ospf_api.c ospfd: Correct Coverity defects 2021-05-19 09:48:54 +02:00
ospf_api.h ospfd: Correct Coverity defects 2021-05-19 09:48:54 +02:00
ospf_apiserver.c ospfd: fix display of plain-text data on "show ... json" commands 2021-10-08 10:03:01 -03:00
ospf_apiserver.h ospfd: fix display of plain-text data on "show ... json" commands 2021-10-08 10:03:01 -03:00
ospf_asbr.c ospfd: don't use if_lookup_by_name_all_vrf 2021-10-15 03:44:42 +03:00
ospf_asbr.h ospfd: don't use if_lookup_by_name_all_vrf 2021-10-15 03:44:42 +03:00
ospf_ase.c ospfd: introduce support for Graceful Restart (restarting mode) 2021-07-05 11:43:02 -03:00
ospf_ase.h *: reindent 2017-07-17 14:04:07 +02:00
ospf_bfd.c lib: remove enabled flag for bfd sessions 2021-04-22 16:39:29 +03:00
ospf_bfd.h ospfd: rework BFD integration 2021-03-23 10:18:42 -03:00
ospf_dump_api.c ospfd: replace inet_ntoa 2020-10-22 13:37:25 -04:00
ospf_dump_api.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ospf_dump.c ospfd: Adding apropriate ism state in ptop neighbors. 2021-10-26 05:36:20 -07:00
ospf_dump.h ospfd: Adding apropriate ism state in ptop neighbors. 2021-10-26 05:36:20 -07:00
ospf_errors.c ospfd: Add Segment Routing Local Block 2020-08-20 14:37:40 +02:00
ospf_errors.h ospfd: Add Segment Routing Local Block 2020-08-20 14:37:40 +02:00
ospf_ext.c ospfd: fix display of plain-text data on "show ... json" commands 2021-10-08 10:03:01 -03:00
ospf_ext.h ospfd: Add Segment Routing Local Block 2020-08-20 14:37:40 +02:00
ospf_flood.c ospfd: Summarised External LSA is not flushed in one scenario 2021-08-17 02:15:42 -07:00
ospf_flood.h ospfd: introduce support for Graceful Restart (restarting mode) 2021-07-05 11:43:02 -03:00
ospf_gr_helper.c ospfd: fix display of plain-text data on "show ... json" commands 2021-10-08 10:03:01 -03:00
ospf_gr.c Merge pull request #9813 from opensourcerouting/ospf-gr-fixes 2021-10-15 09:21:40 -04:00
ospf_gr.h ospfd: introduce support for Graceful Restart (restarting mode) 2021-07-05 11:43:02 -03:00
ospf_ia.c ospfd: replace inet_ntoa 2020-10-22 13:37:25 -04:00
ospf_ia.h *: reindent 2017-07-17 14:04:07 +02:00
ospf_interface.c lib: fix vrf deletion when the last interface is deleted 2021-11-11 14:57:59 +03:00
ospf_interface.h ospfd: Cleanup ospf_interface.h to work with our standards 2021-08-06 10:46:48 -04:00
ospf_ism.c *: require semicolon after DEFINE_HOOK & co. 2021-03-17 06:18:17 +01:00
ospf_ism.h *: require semicolon after DEFINE_HOOK & co. 2021-03-17 06:18:17 +01:00
ospf_ldp_sync.c ospfd: Prevent sending of uninited data to zebra 2021-01-30 14:13:34 -05:00
ospf_ldp_sync.h ldpd, isisd, ospfd: Remove periodic ldp-sync hello message 2020-12-09 14:11:38 -05:00
ospf_lsa.c lib: change thread_add_* API 2021-10-20 20:07:15 +03:00
ospf_lsa.h lib: change thread_add_* API 2021-10-20 20:07:15 +03: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 *: Drop break after using frr_help_exit() in switch/case 2021-08-25 10:49:05 +03:00
ospf_memory.c *: require semicolon after DEFINE_MTYPE & co 2021-03-17 06:18:17 +01:00
ospf_memory.h *: require semicolon after DEFINE_MTYPE & co 2021-03-17 06:18:17 +01:00
ospf_neighbor.c ospfd: rename the graceful restart header 2021-07-05 11:43:02 -03:00
ospf_neighbor.h ospfd: rename the graceful restart header 2021-07-05 11:43:02 -03:00
ospf_network.c ospfd: don't exit when socket is not created 2021-07-27 16:10:35 +03:00
ospf_network.h ospfd: basic support for VRF NETNS backend 2018-02-27 11:11:24 +01:00
ospf_nsm.c ospfd: use ospf_get_name() wherever possible 2021-10-09 20:36:47 -03:00
ospf_nsm.h ospfd: ospf nbr in full although mismatch in hello packet contents 2021-10-06 10:04:10 -07:00
ospf_opaque.c Merge pull request #9763 from ton31337/fix/more_thread_null 2021-10-12 11:49:46 -04:00
ospf_opaque.h Merge pull request #9368 from donaldsharp/ospf_ensure_lsa_length 2021-10-29 13:37:09 +03:00
ospf_packet.c Merge pull request #9368 from donaldsharp/ospf_ensure_lsa_length 2021-10-29 13:37:09 +03:00
ospf_packet.h ospfd: fix typos 2020-10-07 01:53:13 -07:00
ospf_ri.c ospfd: fix display of plain-text data on "show ... json" commands 2021-10-08 10:03:01 -03:00
ospf_ri.h ospfd: Correct Coverity defects 2021-05-19 09:48:54 +02:00
ospf_route.c ospfd: Fix quick interface down up event handling in ospf 2021-05-25 14:43:40 -04:00
ospf_route.h ospfd: Fix quick interface down up event handling in ospf 2021-05-25 14:43:40 -04:00
ospf_routemap_nb_config.c *: make sure config.h or zebra.h is first 2021-04-23 12:06:35 +02:00
ospf_routemap_nb.c *: make sure config.h or zebra.h is first 2021-04-23 12:06:35 +02:00
ospf_routemap_nb.h ospfd: North-bound implementation for ospfd rmaps 2021-03-30 22:59:30 +03:00
ospf_routemap.c ospfd: don't use if_lookup_by_name_all_vrf 2021-10-15 03:44:42 +03:00
ospf_snmp.c ospfd: Adding apropriate ism state in ptop neighbors. 2021-10-26 05:36:20 -07:00
ospf_spf.c ospfd: correctly cleanup spf data 2021-08-31 13:41:40 +03:00
ospf_spf.h ospfd: introduce support for Graceful Restart (restarting mode) 2021-07-05 11:43:02 -03:00
ospf_sr.c *: fix for -Wstrict-prototypes 2021-09-02 13:00:35 +02:00
ospf_sr.h ospfd, doc, tests: combined SRGB/SRLB command 2021-06-04 17:22:38 +02:00
ospf_te.c ospfd: fix display of plain-text data on "show ... json" commands 2021-10-08 10:03:01 -03:00
ospf_te.h ospfd: Add Link-State support 2021-03-23 15:39:29 +01:00
ospf_ti_lfa.c *: Replace IPV4_MAX_PREFIXLEN to IPV4_MAX_BITLEN 2021-07-01 17:44:09 +03:00
ospf_ti_lfa.h ospfd: Add support for TI-LFA node protection 2021-01-19 15:32:13 +00:00
ospf_vty.c ospfd: remove commands for broken GR helper mode 2021-11-10 19:17:03 +03:00
ospf_vty.h ospfd: TI-LFA basic infrastructure and algorithms 2021-01-19 15:32:13 +00:00
ospf_zebra.c *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
ospf_zebra.h ospfd: introduce support for Graceful Restart (restarting mode) 2021-07-05 11:43:02 -03:00
OSPF-ALIGNMENT.txt *: Remove cvs control points 2017-12-05 17:28:12 -05:00
ospfd.c ospfd: Close log files before exiting 2021-10-20 08:00:02 -04:00
ospfd.h ospfd: introduce support for Graceful Restart (restarting mode) 2021-07-05 11:43:02 -03:00
subdir.am build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00