#include "filter.h"
#include "memory.h"
#include "zebra_memory.h"
-#include "memory_vty.h"
#include "prefix.h"
#include "log.h"
#include "plist.h"
#define OPTION_V6_RR_SEMANTICS 2000
/* Command line options. */
-struct option longopts[] = {
+const struct option longopts[] = {
{"batch", no_argument, NULL, 'b'},
{"allow_delete", no_argument, NULL, 'a'},
{"keep_kernel", no_argument, NULL, 'k'},
atomic_store_explicit(&zrouter.in_shutdown, true,
memory_order_relaxed);
+ /* send RA lifetime of 0 before stopping. rfc4861/6.2.5 */
+ rtadv_stop_ra_all();
+
frr_early_fini();
zebra_dplane_pre_finish();
+ /* Clean up GR related info. */
+ zebra_gr_stale_client_cleanup(zrouter.stale_client_list);
+ list_delete_all_node(zrouter.stale_client_list);
+
for (ALL_LIST_ELEMENTS(zrouter.client_list, ln, nn, client))
zserv_close_client(client);
},
};
-static const struct frr_yang_module_info *zebra_yang_modules[] = {
+static const struct frr_yang_module_info *const zebra_yang_modules[] = {
&frr_interface_info,
+ &frr_route_map_info,
};
FRR_DAEMON_INFO(