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

index e5178171471f3b9d05792d1aefd834826dd6815e..9d700305edd7f8e38bd933006a6cee378fb29092 100644 (file)
@@ -103,6 +103,7 @@ sigint (void)
   if (! retain_mode)
     ripng_clean ();
 
+  ripng_zebra_stop ();
   exit (0);
 }
 
index 2d62823b115fee00ec08d8c94e97c15ce92fcf42..465d33992f26363e4a59ade8928a9524a1d4e47e 100644 (file)
@@ -557,3 +557,10 @@ zebra_init (struct thread_master *master)
   install_element (RIPNG_NODE, &ripng_redistribute_type_metric_routemap_cmd);
   install_element (RIPNG_NODE, &no_ripng_redistribute_type_cmd);
 }
+
+void
+ripng_zebra_stop (void)
+{
+  zclient_stop (zclient);
+  zclient_free (zclient);
+}
index 62b7b073f87c04a677ecc265816d3ccc675ceabf..ce8ea07a41e13a66be1790ad9663a1bad1efc85b 100644 (file)
@@ -353,6 +353,7 @@ extern void ripng_route_map_reset (void);
 extern void ripng_terminate (void);
  /* zclient_init() is done by ripng_zebra.c:zebra_init() */
 extern void zebra_init(struct thread_master *);
+extern void ripng_zebra_stop (void);
 extern void ripng_zclient_reset (void);
 extern void ripng_offset_init (void);