]> git.proxmox.com Git - mirror_frr.git/blobdiff - babeld/babel_interface.c
babeld: Presenting interface configuration parameters
[mirror_frr.git] / babeld / babel_interface.c
index 615ed9fee31a6837b9d442a5dcae308be62c86bd..1dae93b0edd16c19aede92451b041ee6adfd123f 100644 (file)
@@ -484,7 +484,9 @@ DEFUN (babel_set_rtt_min,
     babel_ifp = babel_get_if_nfo(ifp);
     assert (babel_ifp != NULL);
 
-    babel_ifp->rtt_min = rtt;
+    babel_ifp->rtt_min =
+           rtt
+           * 1000; // value entered in milliseconds and stored as microseconds
     return CMD_SUCCESS;
 }
 
@@ -504,7 +506,9 @@ DEFUN (babel_set_rtt_max,
     babel_ifp = babel_get_if_nfo(ifp);
     assert (babel_ifp != NULL);
 
-    babel_ifp->rtt_max = rtt;
+    babel_ifp->rtt_max =
+           rtt
+           * 1000; // value entered in milliseconds and stored as microseconds
     return CMD_SUCCESS;
 }
 
@@ -1328,8 +1332,29 @@ interface_config_write (struct vty *vty)
                        babel_ifp->update_interval);
             write++;
         }
-        /* Some parameters have different defaults for wired/wireless. */
-        if (CHECK_FLAG (babel_ifp->flags, BABEL_IF_WIRED)) {
+       if (CHECK_FLAG(babel_ifp->flags, BABEL_IF_TIMESTAMPS)) {
+               vty_out(vty, " babel enable-timestamps\n");
+               write++;
+       }
+       if (babel_ifp->max_rtt_penalty != BABEL_DEFAULT_MAX_RTT_PENALTY) {
+               vty_out(vty, " babel max-rtt-penalty %u\n",
+                       babel_ifp->max_rtt_penalty);
+               write++;
+       }
+       if (babel_ifp->rtt_decay != BABEL_DEFAULT_RTT_DECAY) {
+               vty_out(vty, " babel rtt-decay %u\n", babel_ifp->rtt_decay);
+               write++;
+       }
+       if (babel_ifp->rtt_min != BABEL_DEFAULT_RTT_MIN) {
+               vty_out(vty, " babel rtt-min %u\n", babel_ifp->rtt_min / 1000);
+               write++;
+       }
+       if (babel_ifp->rtt_max != BABEL_DEFAULT_RTT_MAX) {
+               vty_out(vty, " babel rtt-max %u\n", babel_ifp->rtt_max / 1000);
+               write++;
+       }
+       /* Some parameters have different defaults for wired/wireless. */
+       if (CHECK_FLAG (babel_ifp->flags, BABEL_IF_WIRED)) {
             if (!CHECK_FLAG (babel_ifp->flags, BABEL_IF_SPLIT_HORIZON)) {
                 vty_out (vty, " no babel split-horizon\n");
                 write++;
@@ -1395,9 +1420,10 @@ babel_interface_allocate (void)
     babel_ifp->bucket_time = babel_now.tv_sec;
     babel_ifp->bucket = BUCKET_TOKENS_MAX;
     babel_ifp->hello_seqno = (frr_weak_random() & 0xFFFF);
-    babel_ifp->rtt_min = 10000;
-    babel_ifp->rtt_max = 120000;
-    babel_ifp->max_rtt_penalty = 150;
+    babel_ifp->rtt_decay = BABEL_DEFAULT_RTT_DECAY;
+    babel_ifp->rtt_min = BABEL_DEFAULT_RTT_MIN;
+    babel_ifp->rtt_max = BABEL_DEFAULT_RTT_MAX;
+    babel_ifp->max_rtt_penalty = BABEL_DEFAULT_MAX_RTT_PENALTY;
     babel_ifp->hello_interval = BABEL_DEFAULT_HELLO_INTERVAL;
     babel_ifp->update_interval = BABEL_DEFAULT_UPDATE_INTERVAL;
     babel_ifp->channel = BABEL_IF_CHANNEL_INTERFERING;