summaryrefslogtreecommitdiffstats
path: root/ospfd/ospf_ext.h
diff options
context:
space:
mode:
authorOlivier Dugeon <olivier.dugeon@orange.com>2020-05-15 19:18:36 +0200
committerOlivier Dugeon <olivier.dugeon@orange.com>2020-05-26 11:57:04 +0200
commit731271b0bdef62f96d84c77da53e519d02f6c5e5 (patch)
tree4b03bc30192f08ee5cd3b14ca6e6726a4fe1a209 /ospfd/ospf_ext.h
parentMerge pull request #6400 from mjstapp/fix_sa_zebra_nb_state (diff)
downloadfrr-731271b0bdef62f96d84c77da53e519d02f6c5e5.tar.xz
frr-731271b0bdef62f96d84c77da53e519d02f6c5e5.zip
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>
Diffstat (limited to 'ospfd/ospf_ext.h')
-rw-r--r--ospfd/ospf_ext.h4
1 files changed, 0 insertions, 4 deletions
diff --git a/ospfd/ospf_ext.h b/ospfd/ospf_ext.h
index c3f9ae94d..0071584e2 100644
--- a/ospfd/ospf_ext.h
+++ b/ospfd/ospf_ext.h
@@ -151,10 +151,6 @@ struct ospf_ext_lp {
*/
uint8_t scope;
- /* area pointer if flooding is Type 10 Null if flooding is AS scope */
- struct ospf_area *area;
- struct in_addr area_id;
-
/* List of interface with Segment Routing enable */
struct list *iflist;
};