This fixes an infinite loop that happened every time the connection
to the confd daemon was lost. Deactivate the confd module when
that happens to fix the infinite loop. This is only a temporary
workaround, in the long term we need to add a connection retry timer
to reestablish the connection to the confd daemon once it's back.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
ret = confd_fd_ready(dctx, fd);
if (ret == CONFD_EOF) {
flog_err_confd("confd_fd_ready");
+ frr_confd_finish();
return -1;
} else if (ret == CONFD_ERR && confd_errno != CONFD_ERR_EXTERNAL) {
flog_err_confd("confd_fd_ready");
+ frr_confd_finish();
return -1;
}