From e0cdf717a7a6a7478e88a4f435c4d3726d13220b Mon Sep 17 00:00:00 2001 From: anlan_cs Date: Sat, 27 May 2023 23:14:45 +0800 Subject: [PATCH] pimd: Fix missing pimreg interface `pimregX` of specific vrf can be deleted from kernel after this vrf is deleted. However, then `pimdregX` will never come back to kernel after adding it ( the same vrf ) back. That is to say, it exists only in daemon, but not in kernel. The root cause is this `pimregX` is not really deleted for its `configured` flag. `pim_if_create_pimreg()` will reuse it, so it will never be added into kernel again. Just remove the `configured` flag of `pimregX`, allow its deletion. Fixes #13454 Signed-off-by: anlan_cs --- pimd/pim_iface.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c index b1beb456303a..fba8622bcf11 100644 --- a/pimd/pim_iface.c +++ b/pimd/pim_iface.c @@ -1498,14 +1498,6 @@ void pim_if_create_pimreg(struct pim_instance *pim) if (!pim->regiface->info) pim_if_new(pim->regiface, false, false, true, false /*vxlan_term*/); - - /* - * On vrf moves we delete the interface if there - * is nothing going on with it. We cannot have - * the pimregiface deleted. - */ - pim->regiface->configured = true; - } }