diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2012-08-06 02:42:24 +0200 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2012-08-06 02:42:24 +0200 |
commit | 5400c0e7f982757418a0aeb892459b52fbbcffc3 (patch) | |
tree | 631b0cab2fec49a55c4813bb394aed202d21ef10 /nest/proto.c | |
parent | bbcfd5a0485a8df9568d8da0fc524e272e3e7601 (diff) |
Fixes BGP subcode during global shutdown.
Diffstat (limited to 'nest/proto.c')
-rw-r--r-- | nest/proto.c | 14 |
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); } |