If an interface is configured as 'passive' in ospfd, when printing
config it doesn't seem useful to print the unused timers, key information
etc. Given this config line,

        interface lo0

ospfd -nvf /etc/ospfd.conf output changes from this:

        interface lo0:127.0.0.1 {
                metric 10
                passive
                retransmit-interval 5
                router-dead-time 40
                hello-interval 10
                router-priority 1
                transmit-delay 1
                auth-type none
        }

to this:

        interface lo0:127.0.0.1 {
                metric 10
                passive
        }

Diff below is a bit long as it changes indentation; diff -w after
applying it is more clear.

Any comments / OKs?


Index: printconf.c
===================================================================
RCS file: /cvs/src/usr.sbin/ospfd/printconf.c,v
retrieving revision 1.15
diff -u -p -r1.15 printconf.c
--- printconf.c 16 Feb 2010 08:39:05 -0000      1.15
+++ printconf.c 1 Mar 2013 21:17:10 -0000
@@ -117,38 +117,41 @@ print_iface(struct iface *iface)
 
        printf("\t\tmetric %d\n", iface->metric);
 
-       if (iface->passive)
-               printf("\t\tpassive\n");
        if (*iface->demote_group)
                printf("\t\tdemote %s\n", iface->demote_group);
+       if (iface->passive)
+               printf("\t\tpassive\n");
+       else {
+               printf("\t\tretransmit-interval %d\n", iface->rxmt_interval);
+               if (iface->dead_interval == FAST_RTR_DEAD_TIME) {
+                       printf("\t\trouter-dead-time minimal\n");
+                       printf("\t\tfast-hello-interval msec %u\n",
+                           iface->fast_hello_interval);
+               } else {
+                       printf("\t\trouter-dead-time %d\n",
+                           iface->dead_interval);
+                       printf("\t\thello-interval %d\n",
+                           iface->hello_interval);
+               }
+               printf("\t\trouter-priority %d\n", iface->priority);
+               printf("\t\ttransmit-delay %d\n", iface->transmit_delay);
 
-       printf("\t\tretransmit-interval %d\n", iface->rxmt_interval);
-       if (iface->dead_interval == FAST_RTR_DEAD_TIME) {
-               printf("\t\trouter-dead-time minimal\n");
-               printf("\t\tfast-hello-interval msec %u\n",
-                   iface->fast_hello_interval);
-       } else {
-               printf("\t\trouter-dead-time %d\n", iface->dead_interval);
-               printf("\t\thello-interval %d\n", iface->hello_interval);
-       }
-       printf("\t\trouter-priority %d\n", iface->priority);
-       printf("\t\ttransmit-delay %d\n", iface->transmit_delay);
-
-       printf("\t\tauth-type %s\n", if_auth_name(iface->auth_type));
-       switch (iface->auth_type) {
-       case AUTH_TYPE_NONE:
-               break;
-       case AUTH_TYPE_SIMPLE:
-               printf("\t\tauth-key XXXXXX\n");
-               break;
-       case AUTH_TYPE_CRYPT:
-               printf("\t\tauth-md-keyid %d\n", iface->auth_keyid);
-               TAILQ_FOREACH(md, &iface->auth_md_list, entry)
-                       printf("\t\tauth-md %d XXXXXX\n", md->keyid);
-               break;
-       default:
-               printf("\t\tunknown auth type!\n");
-               break;
+               printf("\t\tauth-type %s\n", if_auth_name(iface->auth_type));
+               switch (iface->auth_type) {
+               case AUTH_TYPE_NONE:
+                       break;
+               case AUTH_TYPE_SIMPLE:
+                       printf("\t\tauth-key XXXXXX\n");
+                       break;
+               case AUTH_TYPE_CRYPT:
+                       printf("\t\tauth-md-keyid %d\n", iface->auth_keyid);
+                       TAILQ_FOREACH(md, &iface->auth_md_list, entry)
+                               printf("\t\tauth-md %d XXXXXX\n", md->keyid);
+                       break;
+               default:
+                       printf("\t\tunknown auth type!\n");
+                       break;
+               }
        }
 
        printf("\t}\n");

Reply via email to