]> git.puffer.fish Git - mirror/frr.git/commitdiff
ripd: Fix zclient cleanup on shutdown
authorDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 30 Jun 2017 14:32:26 +0000 (10:32 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 30 Jun 2017 14:32:26 +0000 (10:32 -0400)
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
ripd/rip_main.c
ripd/rip_zebra.c
ripd/ripd.h

index 38c2875949fec23a1fd0ca941bd05c8d583f9073..1a7d03bca173df764244b0b5ce06eca8eee2af99 100644 (file)
@@ -100,6 +100,8 @@ sigint (void)
   if (! retain_mode)
     rip_clean ();
 
+  rip_zclient_stop ();
+
   exit (0);
 }
 
index 337555b0b70526fa03de1abc5f9a7f99de61882b..31204872acf3aef4a57b261e31f7fb4ec1d5548e 100644 (file)
@@ -711,3 +711,10 @@ rip_zclient_init (struct thread_master *master)
   install_element (RIP_NODE, &rip_default_information_originate_cmd);
   install_element (RIP_NODE, &no_rip_default_information_originate_cmd);
 }
+
+void
+rip_zclient_stop (void)
+{
+  zclient_stop (zclient);
+  zclient_free (zclient);
+}
index d52df0d9921c715555a6b23a194bfb04b2b21804..a8e65d12366281b8f1c79fa0e9368231c0c9e78f 100644 (file)
@@ -388,6 +388,7 @@ extern void rip_if_down_all (void);
 extern void rip_route_map_init (void);
 extern void rip_route_map_reset (void);
 extern void rip_zclient_init(struct thread_master *);
+extern void rip_zclient_stop(void);
 extern void rip_zclient_reset (void);
 extern void rip_offset_init (void);
 extern int if_check_address (struct in_addr addr);