summaryrefslogtreecommitdiff
path: root/nest/proto.c
diff options
context:
space:
mode:
authorOndrej Filip <feela@network.cz>2012-08-07 11:15:23 +0200
committerOndrej Filip <feela@network.cz>2012-08-07 11:15:23 +0200
commit60c412b9368fd7c3b0a8df2200f02140adcb0cf3 (patch)
tree237d3c0b8aa86c6f3a88a76141ab51ca94b1fcd7 /nest/proto.c
parent3fe1d9e4a40663b93b59f5b6f9d61af9dc6a8ae6 (diff)
parent94e2f1c111721d6213ea65cac5c53036e38e3973 (diff)
Merge branch 'master' of ssh://git.nic.cz/birdv1.3.8
Diffstat (limited to 'nest/proto.c')
-rw-r--r--nest/proto.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/nest/proto.c b/nest/proto.c
index 887d3e5e..53d3f1a2 100644
--- a/nest/proto.c
+++ b/nest/proto.c
@@ -512,20 +512,22 @@ protos_commit(struct config *new, struct config *old, int force_reconfig, int ty
else if (!p->disabled && nc->disabled)
log(L_INFO "Disabling protocol %s", p->name);
- PD(p, "Restarting");
p->down_code = nc->disabled ? PDC_CF_DISABLE : PDC_CF_RESTART;
p->cf_new = nc;
}
- else
+ else if (!shutting_down)
{
- if (!shutting_down)
- log(L_INFO "Removing protocol %s", p->name);
- PD(p, "Unconfigured");
+ log(L_INFO "Removing protocol %s", p->name);
p->down_code = PDC_CF_REMOVE;
p->cf_new = NULL;
}
- p->reconfiguring = 1;
+ else /* global shutdown */
+ {
+ p->down_code = PDC_CMD_SHUTDOWN;
+ p->cf_new = NULL;
+ }
+ p->reconfiguring = 1;
config_add_obstacle(old);
proto_rethink_goal(p);
}