summaryrefslogtreecommitdiff
path: root/zebra/main.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2020-04-02 11:16:50 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2020-04-02 11:38:26 -0400
commitaab5893aa68016935b84d058f7fb8648383639c9 (patch)
tree1c17a000bc1cb14c0fd61012fa2e8bd7c759c075 /zebra/main.c
parent78e9da668dc607c5d7f5c4cd3098b6e3112d8630 (diff)
zebra: Don't kill the global rtadv socket when a vrf is deleted
The rtadv code has two types of sockets: a) namespace -> Where each zvrf get's it's own socket b) vrf lite -> Where we get 1 socket for everything When we were terminating a vrf we were *always* killing the (b) socket. This is a mistake in that other vrf's may need to be communicating. Modify the code on vrf shutdown to only disable that vrf's event processing and when we actually terminate we shut the socket. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'zebra/main.c')
-rw-r--r--zebra/main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/zebra/main.c b/zebra/main.c
index 4673ec53e4..306372ccdb 100644
--- a/zebra/main.c
+++ b/zebra/main.c
@@ -174,6 +174,7 @@ static void sigint(void)
work_queue_free_and_null(&zrouter.lsp_process_q);
vrf_terminate();
+ rtadv_terminate();
ns_walk_func(zebra_ns_early_shutdown);
zebra_ns_notify_close();