]> git.puffer.fish Git - mirror/frr.git/commitdiff
bfdd: close bfd echo sockets, upon vrf disable 4922/head
authorPhilippe Guibert <philippe.guibert@6wind.com>
Tue, 3 Sep 2019 14:53:14 +0000 (16:53 +0200)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Tue, 3 Sep 2019 15:06:52 +0000 (17:06 +0200)
upon vrf disable, an event informs bfd daemon that the vrf contexts
should be removed. in the case a vrf backend is netns based, all sockets
opened under that netns have to be closed. otherwise it is impossible
for the system to completely close the network namespace. that implies
that some interfaces may not be deleted, and may not be given back to
default vrf.

PR=65291
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Acked-by: Julien Floret <julien.floret@6wind.com>
bfdd/bfd.c

index 5d143d4e5f60379fd27d8e86a9574e9c206bf772..1f1568f5114399dc439c830781591f4fccfa525e 100644 (file)
@@ -1706,6 +1706,8 @@ static int bfd_vrf_disable(struct vrf *vrf)
        socket_close(&bvrf->bg_mhop);
        socket_close(&bvrf->bg_shop6);
        socket_close(&bvrf->bg_mhop6);
+       socket_close(&bvrf->bg_echo);
+       socket_close(&bvrf->bg_echov6);
 
        /* free context */
        XFREE(MTYPE_BFDD_VRF, bvrf);