]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/spf_backoff.c
zebra: Move sin6_masklen to earlier in the file
[mirror_frr.git] / lib / spf_backoff.c
index a969d86f4e80e78b50fa5e5d0be6683e599dff8d..41d4e2bb578f2756d94568b075e57e5465b2c4fa 100644 (file)
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with FRR; see the file COPYING.  If not, write to the Free
- * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; see the file COPYING; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
 #include <zebra.h>
@@ -144,7 +143,7 @@ static int spf_backoff_holddown_elapsed(struct thread *thread)
 
 long spf_backoff_schedule(struct spf_backoff *backoff)
 {
-       long rv;
+       long rv = 0;
        struct timeval now;
 
        gettimeofday(&now, NULL);
@@ -157,29 +156,26 @@ long spf_backoff_schedule(struct spf_backoff *backoff)
        switch (backoff->state) {
        case SPF_BACKOFF_QUIET:
                backoff->state = SPF_BACKOFF_SHORT_WAIT;
-               THREAD_TIMER_MSEC_ON(backoff->m, backoff->t_timetolearn,
-                                    spf_backoff_timetolearn_elapsed, backoff,
-                                    backoff->timetolearn);
-               THREAD_TIMER_MSEC_ON(backoff->m, backoff->t_holddown,
-                                    spf_backoff_holddown_elapsed, backoff,
-                                    backoff->holddown);
+               thread_add_timer_msec(
+                       backoff->m, spf_backoff_timetolearn_elapsed, backoff,
+                       backoff->timetolearn, &backoff->t_timetolearn);
+               thread_add_timer_msec(backoff->m, spf_backoff_holddown_elapsed,
+                                     backoff, backoff->holddown,
+                                     &backoff->t_holddown);
                backoff->first_event_time = now;
                rv = backoff->init_delay;
                break;
        case SPF_BACKOFF_SHORT_WAIT:
        case SPF_BACKOFF_LONG_WAIT:
                THREAD_TIMER_OFF(backoff->t_holddown);
-               THREAD_TIMER_MSEC_ON(backoff->m, backoff->t_holddown,
-                                    spf_backoff_holddown_elapsed, backoff,
-                                    backoff->holddown);
+               thread_add_timer_msec(backoff->m, spf_backoff_holddown_elapsed,
+                                     backoff, backoff->holddown,
+                                     &backoff->t_holddown);
                if (backoff->state == SPF_BACKOFF_SHORT_WAIT)
                        rv = backoff->short_delay;
                else
                        rv = backoff->long_delay;
                break;
-       default:
-               zlog_warn("SPF Back-off(%s) in unknown state", backoff->name);
-               rv = backoff->init_delay;
        }
 
        backoff_debug(
@@ -206,7 +202,7 @@ static const char *timeval_format(struct timeval *tv)
 
        size_t offset = strlen(timebuf);
        snprintf(timebuf + offset, sizeof(timebuf) - offset, ".%ld",
-                tv->tv_usec);
+                (long int)tv->tv_usec);
 
        return timebuf;
 }
@@ -214,44 +210,44 @@ static const char *timeval_format(struct timeval *tv)
 void spf_backoff_show(struct spf_backoff *backoff, struct vty *vty,
                      const char *prefix)
 {
-       vty_out(vty, "%sCurrent state:     %s%s", prefix,
-               spf_backoff_state2str(backoff->state), VTY_NEWLINE);
-       vty_out(vty, "%sInit timer:        %ld msec%s", prefix,
-               backoff->init_delay, VTY_NEWLINE);
-       vty_out(vty, "%sShort timer:       %ld msec%s", prefix,
-               backoff->short_delay, VTY_NEWLINE);
-       vty_out(vty, "%sLong timer:        %ld msec%s", prefix,
-               backoff->long_delay, VTY_NEWLINE);
-       vty_out(vty, "%sHolddown timer:    %ld msec%s", prefix,
-               backoff->holddown, VTY_NEWLINE);
+       vty_out(vty, "%sCurrent state:     %s\n", prefix,
+               spf_backoff_state2str(backoff->state));
+       vty_out(vty, "%sInit timer:        %ld msec\n", prefix,
+               backoff->init_delay);
+       vty_out(vty, "%sShort timer:       %ld msec\n", prefix,
+               backoff->short_delay);
+       vty_out(vty, "%sLong timer:        %ld msec\n", prefix,
+               backoff->long_delay);
+       vty_out(vty, "%sHolddown timer:    %ld msec\n", prefix,
+               backoff->holddown);
        if (backoff->t_holddown) {
                struct timeval remain =
                        thread_timer_remain(backoff->t_holddown);
-               vty_out(vty, "%s                   Still runs for %ld msec%s",
-                       prefix, remain.tv_sec * 1000 + remain.tv_usec / 1000,
-                       VTY_NEWLINE);
+               vty_out(vty, "%s                   Still runs for %lld msec\n",
+                       prefix,
+                       (long long)remain.tv_sec * 1000
+                               + remain.tv_usec / 1000);
        } else {
-               vty_out(vty, "%s                   Inactive%s", prefix,
-                       VTY_NEWLINE);
+               vty_out(vty, "%s                   Inactive\n", prefix);
        }
 
-       vty_out(vty, "%sTimeToLearn timer: %ld msec%s", prefix,
-               backoff->timetolearn, VTY_NEWLINE);
+       vty_out(vty, "%sTimeToLearn timer: %ld msec\n", prefix,
+               backoff->timetolearn);
        if (backoff->t_timetolearn) {
                struct timeval remain =
                        thread_timer_remain(backoff->t_timetolearn);
-               vty_out(vty, "%s                   Still runs for %ld msec%s",
-                       prefix, remain.tv_sec * 1000 + remain.tv_usec / 1000,
-                       VTY_NEWLINE);
+               vty_out(vty, "%s                   Still runs for %lld msec\n",
+                       prefix,
+                       (long long)remain.tv_sec * 1000
+                               + remain.tv_usec / 1000);
        } else {
-               vty_out(vty, "%s                   Inactive%s", prefix,
-                       VTY_NEWLINE);
+               vty_out(vty, "%s                   Inactive\n", prefix);
        }
 
-       vty_out(vty, "%sFirst event:       %s%s", prefix,
-               timeval_format(&backoff->first_event_time), VTY_NEWLINE);
-       vty_out(vty, "%sLast event:        %s%s", prefix,
-               timeval_format(&backoff->last_event_time), VTY_NEWLINE);
+       vty_out(vty, "%sFirst event:       %s\n", prefix,
+               timeval_format(&backoff->first_event_time));
+       vty_out(vty, "%sLast event:        %s\n", prefix,
+               timeval_format(&backoff->last_event_time));
 }
 
 DEFUN(spf_backoff_debug,
@@ -280,7 +276,7 @@ int spf_backoff_write_config(struct vty *vty)
        int written = 0;
 
        if (debug_spf_backoff) {
-               vty_out(vty, "debug spf-delay-ietf%s", VTY_NEWLINE);
+               vty_out(vty, "debug spf-delay-ietf\n");
                written++;
        }