]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Adds some log messages related to configure.
authorOndrej Zajicek <santiago@crfreenet.org>
Sat, 6 Feb 2010 21:57:51 +0000 (22:57 +0100)
committerOndrej Zajicek <santiago@crfreenet.org>
Sat, 6 Feb 2010 21:57:51 +0000 (22:57 +0100)
Also fixes a bug in the previous patch.

conf/conf.c
nest/proto.c
sysdep/unix/main.c

index bc0715aec6ba8b01e5fadca6fbc983de0f563f1e..58eb10a6c7947ded8bf30722b0294ffcd95d09fb 100644 (file)
@@ -57,7 +57,7 @@ static jmp_buf conf_jmpbuf;
 
 struct config *config, *new_config, *old_config, *future_config;
 static event *config_event;
-int shutting_down;
+int shutting_down, future_type;
 bird_clock_t boot_time;
 
 /**
@@ -201,6 +201,7 @@ config_do_commit(struct config *c, int type)
   config = new_config = c;
   if (old_config)
     old_config->obstacle_count++;
+
   DBG("sysdep_commit\n");
   force_restart = sysdep_commit(c, old_config);
   DBG("global_commit\n");
@@ -238,8 +239,8 @@ config_done(void *unused UNUSED)
        break;
       c = future_config;
       future_config = NULL;
-      log(L_INFO "Switching to queued configuration...");
-      if (!config_do_commit(c, RECONFIG_HARD))
+      log(L_INFO "Reconfiguring to queued configuration");
+      if (!config_do_commit(c, future_type))
        break;
     }
 }
@@ -290,8 +291,13 @@ config_commit(struct config *c, int type)
       else
        log(L_INFO "Queued new configuration");
       future_config = c;
+      future_type = type;
       return CONF_QUEUED;
     }
+
+  if (!shutting_down)
+    log(L_INFO "Reconfiguring");
+
   if (config_do_commit(c, type))
     {
       config_done(NULL);
index 9ac05c160e4d757bc446c3326bec85d4dadf5d6a..e19c3948a54908ab5de0807736d529ac2312a0ec 100644 (file)
@@ -280,7 +280,7 @@ proto_reconfigure(struct proto *p, struct proto_config *oc, struct proto_config
   if ((nc->protocol != oc->protocol) ||
       (nc->disabled != oc->disabled) ||
       (nc->table->table != oc->table->table) ||
-      (proto_get_router_id(nc) == proto_get_router_id(oc)))
+      (proto_get_router_id(nc) != proto_get_router_id(oc)))
     return 0;
 
   int import_changed = (type != RECONFIG_SOFT) && ! filter_same(nc->in_filter, oc->in_filter);
@@ -312,10 +312,14 @@ proto_reconfigure(struct proto *p, struct proto_config *oc, struct proto_config
   p->in_filter = nc->in_filter;
   p->out_filter = nc->out_filter;
 
+  if (import_changed || export_changed)
+    log(L_INFO "Reloading protocol %s", p->name);
+
   if (import_changed && ! p->reload_routes(p))
     {
       /* Now, the protocol is reconfigured. But route reload failed
         and we have to do regular protocol restart. */
+      log(L_INFO "Restarting protocol %s", p->name);
       p->disabled = 1;
       proto_rethink_goal(p);
       p->disabled = 0;
@@ -382,13 +386,20 @@ protos_commit(struct config *new, struct config *old, int force_reconfig, int ty
                continue;
 
              /* Unsuccessful, we will restart it */
-             DBG("\t%s: power cycling\n", oc->name);
+             if (!p->disabled && !nc->disabled)
+               log(L_INFO "Restarting protocol %s", p->name);
+             else if (p->disabled && !nc->disabled)
+               log(L_INFO "Enabling protocol %s", p->name);
+             else if (!p->disabled && nc->disabled)
+               log(L_INFO "Disabling protocol %s", p->name);
+
              PD(p, "Restarting");
              p->cf_new = nc;
            }
          else
            {
-             DBG("\t%s: deleting\n", oc->name);
+             if (!shutting_down)
+               log(L_INFO "Removing protocol %s", p->name);
              PD(p, "Unconfigured");
              p->cf_new = NULL;
            }
@@ -401,7 +412,8 @@ protos_commit(struct config *new, struct config *old, int force_reconfig, int ty
   WALK_LIST(nc, new->protos)
     if (!nc->proto)
       {
-       DBG("\t%s: adding\n", nc->name);
+       if (old_config)         /* Not a first-time configuration */
+         log(L_INFO "Adding protocol %s", nc->name);
        proto_init(nc);
       }
   DBG("\tdone\n");
@@ -878,9 +890,10 @@ proto_xxable(char *pattern, int xx)
              cli_msg(-8, "%s: already disabled", p->name);
            else
              {
-               cli_msg(-9, "%s: disabled", p->name);
+               log(L_INFO "Disabling protocol %s", p->name);
                p->disabled = 1;
                proto_rethink_goal(p);
+               cli_msg(-9, "%s: disabled", p->name);
              }
            break;
 
@@ -889,9 +902,10 @@ proto_xxable(char *pattern, int xx)
              cli_msg(-10, "%s: already enabled", p->name);
            else
              {
-               cli_msg(-11, "%s: enabled", p->name);
+               log(L_INFO "Enabling protocol %s", p->name);
                p->disabled = 0;
                proto_rethink_goal(p);
+               cli_msg(-11, "%s: enabled", p->name);
              }
            break;
 
@@ -900,6 +914,7 @@ proto_xxable(char *pattern, int xx)
              cli_msg(-8, "%s: already disabled", p->name);
            else
              {
+               log(L_INFO "Restarting protocol %s", p->name);
                p->disabled = 1;
                proto_rethink_goal(p);
                p->disabled = 0;
@@ -921,6 +936,8 @@ proto_xxable(char *pattern, int xx)
            if (p->proto_state != PS_UP)
              break;
 
+           log(L_INFO "Reloading protocol %s", p->name);
+
            /* re-importing routes */
            if (xx != XX_RELOAD_OUT)
              if (! (p->reload_routes && p->reload_routes(p)))
index 6107b2263890408eea1d9d6420affeab78cfaa7a..7a1ef2869cb9c1b49044c3e3f9cdf0d10f749d1a 100644 (file)
@@ -314,7 +314,7 @@ void
 sysdep_shutdown_done(void)
 {
   unlink(path_control_socket);
-  log_msg(L_FATAL "System shutdown completed");
+  log_msg(L_FATAL "Shutdown completed");
   exit(0);
 }
 
@@ -476,6 +476,7 @@ main(int argc, char **argv)
   async_dump_flag = 1;
 #endif
 
+  log(L_INFO "Started");
   DBG("Entering I/O loop.\n");
 
   io_loop();