From 9e74dda819bf5922176fbbc7f3462c844099be13 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Mon, 30 Sep 2024 12:41:06 -0400 Subject: zebra: Delay some processing until after startup is finished Currently zebra starts the graceful restart timer as well as allows connections from clients before all data is read in from the kernel as well as the possiblity of allowing client connections before this happens as well. Let's move the graceful restart timer start till after this is done as well as not allowing client connections till then as well. Signed-off-by: Donald Sharp --- zebra/zebra_ns.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'zebra/zebra_ns.c') diff --git a/zebra/zebra_ns.c b/zebra/zebra_ns.c index ffd749fcf1..d6ed0cc405 100644 --- a/zebra/zebra_ns.c +++ b/zebra/zebra_ns.c @@ -123,6 +123,17 @@ void zebra_ns_startup_continue(struct zebra_dplane_ctx *ctx) vlan_read(zns); kernel_read_pbr_rules(zns); kernel_read_tc_qdisc(zns); + + /* + * At this point FRR has requested and read a bunch + * of data from the dplane about initial state of + * the system. Zebra now needs to initialize + * the gr subsystem ( or the route sweeping + * subsystem ) to allow that to properly work. + * This must be done *immediately* after the + * load of all data from the underlying dplane. + */ + zebra_main_router_started(); break; } } -- cgit v1.2.3