]> git.proxmox.com Git - mirror_frr.git/commit - zebra/rtadv.c
zebra: Don't kill the global rtadv socket when a vrf is deleted
authorDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 2 Apr 2020 15:16:50 +0000 (11:16 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 2 Apr 2020 15:38:26 +0000 (11:38 -0400)
commitaab5893aa68016935b84d058f7fb8648383639c9
tree1c17a000bc1cb14c0fd61012fa2e8bd7c759c075
parent78e9da668dc607c5d7f5c4cd3098b6e3112d8630
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>
zebra/main.c
zebra/rtadv.c
zebra/rtadv.h
zebra/zebra_vrf.c