summaryrefslogtreecommitdiffstats
path: root/zebra
diff options
context:
space:
mode:
Diffstat (limited to 'zebra')
-rw-r--r--zebra/zebra_pw.c1
-rw-r--r--zebra/zebra_router.c4
-rw-r--r--zebra/zserv.c6
3 files changed, 4 insertions, 7 deletions
diff --git a/zebra/zebra_pw.c b/zebra/zebra_pw.c
index 006c1da02..09edbc9a6 100644
--- a/zebra/zebra_pw.c
+++ b/zebra/zebra_pw.c
@@ -153,6 +153,7 @@ void zebra_pw_update(struct zebra_pw *pw)
{
if (zebra_pw_check_reachability(pw) < 0) {
zebra_pw_uninstall(pw);
+ zebra_pw_install_failure(pw);
/* wait for NHT and try again later */
} else {
/*
diff --git a/zebra/zebra_router.c b/zebra/zebra_router.c
index 9e09cbca3..a81752d20 100644
--- a/zebra/zebra_router.c
+++ b/zebra/zebra_router.c
@@ -202,10 +202,8 @@ void zebra_router_terminate(void)
{
struct zebra_router_table *zrt, *tmp;
- RB_FOREACH_SAFE (zrt, zebra_router_table_head, &zrouter.tables, tmp) {
- RB_REMOVE(zebra_router_table_head, &zrouter.tables, zrt);
+ RB_FOREACH_SAFE (zrt, zebra_router_table_head, &zrouter.tables, tmp)
zebra_router_free_table(zrt);
- }
work_queue_free_and_null(&zrouter.ribq);
meta_queue_free(zrouter.mq);
diff --git a/zebra/zserv.c b/zebra/zserv.c
index f5bb3aabb..80fdbefcd 100644
--- a/zebra/zserv.c
+++ b/zebra/zserv.c
@@ -816,10 +816,8 @@ void zserv_start(char *path)
unlink(suna->sun_path);
}
- frr_elevate_privs(&zserv_privs) {
- setsockopt_so_recvbuf(zsock, 1048576);
- setsockopt_so_sendbuf(zsock, 1048576);
- }
+ setsockopt_so_recvbuf(zsock, 1048576);
+ setsockopt_so_sendbuf(zsock, 1048576);
frr_elevate_privs((sa.ss_family != AF_UNIX) ? &zserv_privs : NULL) {
ret = bind(zsock, (struct sockaddr *)&sa, sa_len);