summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zebra/irdp_interface.c10
-rw-r--r--zebra/irdp_main.c3
2 files changed, 7 insertions, 6 deletions
diff --git a/zebra/irdp_interface.c b/zebra/irdp_interface.c
index 6ea14b3058..407738d80f 100644
--- a/zebra/irdp_interface.c
+++ b/zebra/irdp_interface.c
@@ -476,12 +476,13 @@ DEFUN (ip_irdp_minadvertinterval,
zi=ifp->info;
irdp=&zi->irdp;
- if((unsigned) atoi(argv[idx_number]->arg) < irdp->MaxAdvertInterval) {
+ if((unsigned) atoi(argv[idx_number]->arg) <= irdp->MaxAdvertInterval) {
irdp->MinAdvertInterval = atoi(argv[idx_number]->arg);
return CMD_SUCCESS;
}
else {
- vty_out (vty, "%% MinAdvertInterval must be less than MaxAdvertInterval");
+ vty_out (vty, "%% MinAdvertInterval must be less than or equal to "
+ "MaxAdvertInterval%s", VTY_NEWLINE);
return CMD_WARNING;
}
}
@@ -502,12 +503,13 @@ DEFUN (ip_irdp_maxadvertinterval,
zi=ifp->info;
irdp=&zi->irdp;
- if(irdp->MinAdvertInterval < (unsigned) atoi(argv[idx_number]->arg)) {
+ if(irdp->MinAdvertInterval <= (unsigned) atoi(argv[idx_number]->arg)) {
irdp->MaxAdvertInterval = atoi(argv[idx_number]->arg);
return CMD_SUCCESS;
}
else {
- vty_out (vty, "%% MaxAdvertInterval must be greater than MinAdvertInterval");
+ vty_out (vty, "%% MaxAdvertInterval must be greater than or equal to "
+ "MinAdvertInterval%s", VTY_NEWLINE);
return CMD_WARNING;
}
}
diff --git a/zebra/irdp_main.c b/zebra/irdp_main.c
index 8f1647c9db..6965dca3e4 100644
--- a/zebra/irdp_main.c
+++ b/zebra/irdp_main.c
@@ -234,8 +234,7 @@ int irdp_send_thread(struct thread *t_advert)
}
tmp = irdp->MaxAdvertInterval-irdp->MinAdvertInterval;
- assert (tmp > 0);
- timer = (random () % tmp) + 1;
+ timer = random () % (tmp + 1);
timer = irdp->MinAdvertInterval + timer;
if(irdp->irdp_sent < MAX_INITIAL_ADVERTISEMENTS &&