]> git.proxmox.com Git - mirror_frr.git/blobdiff - eigrpd/eigrp_vty.c
*: reindent
[mirror_frr.git] / eigrpd / eigrp_vty.c
index 293b7e0ef15d9020bc79c16190213d247e581808..13cd0ff059e795b822bbbfbb4adb5dfedf185d35 100644 (file)
 #include "eigrpd/eigrp_dump.h"
 #include "eigrpd/eigrp_const.h"
 
-static int
-config_write_network (struct vty *vty, struct eigrp *eigrp)
+static int config_write_network(struct vty *vty, struct eigrp *eigrp)
 {
-  struct route_node *rn;
-  int i;
-
-  /* `network area' print. */
-  for (rn = route_top (eigrp->networks); rn; rn = route_next (rn))
-    if (rn->info)
-      {
-        /* Network print. */
-        vty_out (vty, " network %s/%d \n",
-                 inet_ntoa (rn->p.u.prefix4), rn->p.prefixlen);
-      }
-
-  if (eigrp->max_paths != EIGRP_MAX_PATHS_DEFAULT)
-    vty_out (vty, " maximum-paths %d\n", eigrp->max_paths);
-
-  if (eigrp->variance != EIGRP_VARIANCE_DEFAULT)
-    vty_out (vty, " variance %d\n", eigrp->variance);
-
-  for (i = 0; i < ZEBRA_ROUTE_MAX; i++)
-    if (i != zclient->redist_default &&
-       vrf_bitmap_check (zclient->redist[AFI_IP][i], VRF_DEFAULT))
-       vty_outln (vty, " redistribute %s", zebra_route_string(i));
-
-  /*Separate EIGRP configuration from the rest of the config*/
-  vty_out (vty, "!\n");
-
-  return 0;
+       struct route_node *rn;
+       int i;
+
+       /* `network area' print. */
+       for (rn = route_top(eigrp->networks); rn; rn = route_next(rn))
+               if (rn->info) {
+                       /* Network print. */
+                       vty_out(vty, " network %s/%d \n",
+                               inet_ntoa(rn->p.u.prefix4), rn->p.prefixlen);
+               }
+
+       if (eigrp->max_paths != EIGRP_MAX_PATHS_DEFAULT)
+               vty_out(vty, " maximum-paths %d\n", eigrp->max_paths);
+
+       if (eigrp->variance != EIGRP_VARIANCE_DEFAULT)
+               vty_out(vty, " variance %d\n", eigrp->variance);
+
+       for (i = 0; i < ZEBRA_ROUTE_MAX; i++)
+               if (i != zclient->redist_default
+                   && vrf_bitmap_check(zclient->redist[AFI_IP][i],
+                                       VRF_DEFAULT))
+                       vty_outln(vty, " redistribute %s",
+                                 zebra_route_string(i));
+
+       /*Separate EIGRP configuration from the rest of the config*/
+       vty_out(vty, "!\n");
+
+       return 0;
 }
 
-static int
-config_write_interfaces (struct vty *vty, struct eigrp *eigrp)
+static int config_write_interfaces(struct vty *vty, struct eigrp *eigrp)
 {
-  struct eigrp_interface *ei;
-  struct listnode *node;
-
-  for (ALL_LIST_ELEMENTS_RO (eigrp->eiflist, node, ei))
-    {
-      vty_out (vty, "interface %s\n", ei->ifp->name);
-
-      if ((IF_DEF_PARAMS (ei->ifp)->auth_type) == EIGRP_AUTH_TYPE_MD5)
-        {
-          vty_out (vty, " ip authentication mode eigrp %d md5\n", eigrp->AS);
-        }
-
-      if ((IF_DEF_PARAMS (ei->ifp)->auth_type) == EIGRP_AUTH_TYPE_SHA256)
-        {
-          vty_out (vty, " ip authentication mode eigrp %d hmac-sha-256\n",
-                     eigrp->AS);
-        }
-
-      if(IF_DEF_PARAMS (ei->ifp)->auth_keychain)
-        {
-          vty_out (vty, " ip authentication key-chain eigrp %d %s\n",eigrp->AS,
-                     IF_DEF_PARAMS(ei->ifp)->auth_keychain);
-        }
-
-      if ((IF_DEF_PARAMS (ei->ifp)->v_hello) != EIGRP_HELLO_INTERVAL_DEFAULT)
-        {
-          vty_out (vty, " ip hello-interval eigrp %d\n",
-                     IF_DEF_PARAMS(ei->ifp)->v_hello);
-        }
-
-      if ((IF_DEF_PARAMS (ei->ifp)->v_wait) != EIGRP_HOLD_INTERVAL_DEFAULT)
-        {
-          vty_out (vty, " ip hold-time eigrp %d\n",
-                     IF_DEF_PARAMS(ei->ifp)->v_wait);
-        }
-
-      /*Separate this EIGRP interface configuration from the others*/
-      vty_out (vty, "!\n");
-    }
-
-  return 0;
+       struct eigrp_interface *ei;
+       struct listnode *node;
+
+       for (ALL_LIST_ELEMENTS_RO(eigrp->eiflist, node, ei)) {
+               vty_out(vty, "interface %s\n", ei->ifp->name);
+
+               if ((IF_DEF_PARAMS(ei->ifp)->auth_type)
+                   == EIGRP_AUTH_TYPE_MD5) {
+                       vty_out(vty, " ip authentication mode eigrp %d md5\n",
+                               eigrp->AS);
+               }
+
+               if ((IF_DEF_PARAMS(ei->ifp)->auth_type)
+                   == EIGRP_AUTH_TYPE_SHA256) {
+                       vty_out(vty,
+                               " ip authentication mode eigrp %d hmac-sha-256\n",
+                               eigrp->AS);
+               }
+
+               if (IF_DEF_PARAMS(ei->ifp)->auth_keychain) {
+                       vty_out(vty,
+                               " ip authentication key-chain eigrp %d %s\n",
+                               eigrp->AS,
+                               IF_DEF_PARAMS(ei->ifp)->auth_keychain);
+               }
+
+               if ((IF_DEF_PARAMS(ei->ifp)->v_hello)
+                   != EIGRP_HELLO_INTERVAL_DEFAULT) {
+                       vty_out(vty, " ip hello-interval eigrp %d\n",
+                               IF_DEF_PARAMS(ei->ifp)->v_hello);
+               }
+
+               if ((IF_DEF_PARAMS(ei->ifp)->v_wait)
+                   != EIGRP_HOLD_INTERVAL_DEFAULT) {
+                       vty_out(vty, " ip hold-time eigrp %d\n",
+                               IF_DEF_PARAMS(ei->ifp)->v_wait);
+               }
+
+               /*Separate this EIGRP interface configuration from the others*/
+               vty_out(vty, "!\n");
+       }
+
+       return 0;
 }
 
-static int
-eigrp_write_interface (struct vty *vty)
+static int eigrp_write_interface(struct vty *vty)
 {
-  struct listnode *node;
-  struct interface *ifp;
-
-  for (ALL_LIST_ELEMENTS_RO (vrf_iflist(VRF_DEFAULT), node, ifp)) {
-    vty_out (vty, "interface %s\n",ifp->name);
-
-    if (ifp->desc)
-      vty_out (vty, " description %s\n",ifp->desc);
-
-    if (IF_DEF_PARAMS (ifp)->bandwidth != EIGRP_BANDWIDTH_DEFAULT)
-      vty_out (vty, " bandwidth %u\n",IF_DEF_PARAMS(ifp)->bandwidth);
-    if (IF_DEF_PARAMS (ifp)->delay != EIGRP_DELAY_DEFAULT)
-      vty_out (vty, " delay %u\n", IF_DEF_PARAMS(ifp)->delay);
-    if (IF_DEF_PARAMS (ifp)->v_hello != EIGRP_HELLO_INTERVAL_DEFAULT)
-      vty_out (vty, " ip hello-interval eigrp %u\n",
-               IF_DEF_PARAMS(ifp)->v_hello);
-    if (IF_DEF_PARAMS (ifp)->v_wait != EIGRP_HOLD_INTERVAL_DEFAULT)
-      vty_out (vty, " ip hold-time eigrp %u\n",
-               IF_DEF_PARAMS(ifp)->v_wait);
-
-    vty_out (vty, "!\n");
-  }
-
-  return 0;
+       struct listnode *node;
+       struct interface *ifp;
+
+       for (ALL_LIST_ELEMENTS_RO(vrf_iflist(VRF_DEFAULT), node, ifp)) {
+               vty_out(vty, "interface %s\n", ifp->name);
+
+               if (ifp->desc)
+                       vty_out(vty, " description %s\n", ifp->desc);
+
+               if (IF_DEF_PARAMS(ifp)->bandwidth != EIGRP_BANDWIDTH_DEFAULT)
+                       vty_out(vty, " bandwidth %u\n",
+                               IF_DEF_PARAMS(ifp)->bandwidth);
+               if (IF_DEF_PARAMS(ifp)->delay != EIGRP_DELAY_DEFAULT)
+                       vty_out(vty, " delay %u\n", IF_DEF_PARAMS(ifp)->delay);
+               if (IF_DEF_PARAMS(ifp)->v_hello != EIGRP_HELLO_INTERVAL_DEFAULT)
+                       vty_out(vty, " ip hello-interval eigrp %u\n",
+                               IF_DEF_PARAMS(ifp)->v_hello);
+               if (IF_DEF_PARAMS(ifp)->v_wait != EIGRP_HOLD_INTERVAL_DEFAULT)
+                       vty_out(vty, " ip hold-time eigrp %u\n",
+                               IF_DEF_PARAMS(ifp)->v_wait);
+
+               vty_out(vty, "!\n");
+       }
+
+       return 0;
 }
 
 /**
  * Writes distribute lists to config
  */
-static int
-config_write_eigrp_distribute (struct vty *vty, struct eigrp *eigrp)
+static int config_write_eigrp_distribute(struct vty *vty, struct eigrp *eigrp)
 {
-  int write=0;
+       int write = 0;
 
-  /* Distribute configuration. */
-  write += config_write_distribute (vty);
+       /* Distribute configuration. */
+       write += config_write_distribute(vty);
 
-  return write;
+       return write;
 }
 
 /**
  * Writes 'router eigrp' section to config
  */
-static int
-config_write_eigrp_router (struct vty *vty, struct eigrp *eigrp)
+static int config_write_eigrp_router(struct vty *vty, struct eigrp *eigrp)
 {
-  int write=0;
+       int write = 0;
 
-  /* `router eigrp' print. */
-  vty_out (vty, "router eigrp %d\n", eigrp->AS);
+       /* `router eigrp' print. */
+       vty_out(vty, "router eigrp %d\n", eigrp->AS);
 
-  write++;
+       write++;
 
-  if (!eigrp->networks)
-    return write;
+       if (!eigrp->networks)
+               return write;
 
-  /* Router ID print. */
-  if (eigrp->router_id_static != 0)
-    {
-      struct in_addr router_id_static;
-      router_id_static.s_addr = htonl(eigrp->router_id_static);
-      vty_out (vty, " eigrp router-id %s\n",
-               inet_ntoa(router_id_static));
-    }
+       /* Router ID print. */
+       if (eigrp->router_id_static != 0) {
+               struct in_addr router_id_static;
+               router_id_static.s_addr = htonl(eigrp->router_id_static);
+               vty_out(vty, " eigrp router-id %s\n",
+                       inet_ntoa(router_id_static));
+       }
 
-  /* Network area print. */
-  config_write_network (vty, eigrp);
+       /* Network area print. */
+       config_write_network(vty, eigrp);
 
-  /* Distribute-list and default-information print. */
-  config_write_eigrp_distribute (vty, eigrp);
+       /* Distribute-list and default-information print. */
+       config_write_eigrp_distribute(vty, eigrp);
 
-  /*Separate EIGRP configuration from the rest of the config*/
-  vty_out (vty, "!\n");
+       /*Separate EIGRP configuration from the rest of the config*/
+       vty_out(vty, "!\n");
 
-  return write;
+       return write;
 }
 
 DEFUN_NOSH (router_eigrp,
@@ -220,10 +218,10 @@ DEFUN_NOSH (router_eigrp,
             "Start EIGRP configuration\n"
             "AS Number to use\n")
 {
-  struct eigrp *eigrp = eigrp_get (argv[2]->arg);
-  VTY_PUSH_CONTEXT(EIGRP_NODE, eigrp);
+       struct eigrp *eigrp = eigrp_get(argv[2]->arg);
+       VTY_PUSH_CONTEXT(EIGRP_NODE, eigrp);
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_router_eigrp,
@@ -234,20 +232,19 @@ DEFUN (no_router_eigrp,
        "EIGRP configuration\n"
        "AS number to use\n")
 {
-  vty->node = CONFIG_NODE;
+       vty->node = CONFIG_NODE;
 
-  struct eigrp *eigrp;
+       struct eigrp *eigrp;
 
-  eigrp = eigrp_lookup ();
-  if (eigrp->AS != atoi (argv[3]->arg))
-    {
-      vty_out (vty,"%% Attempting to deconfigure non-existent AS\n");
-      return CMD_WARNING_CONFIG_FAILED;
-    }
+       eigrp = eigrp_lookup();
+       if (eigrp->AS != atoi(argv[3]->arg)) {
+               vty_out(vty, "%% Attempting to deconfigure non-existent AS\n");
+               return CMD_WARNING_CONFIG_FAILED;
+       }
 
-  eigrp_finish_final (eigrp);
+       eigrp_finish_final(eigrp);
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (eigrp_router_id,
@@ -257,10 +254,10 @@ DEFUN (eigrp_router_id,
        "Router ID for this EIGRP process\n"
        "EIGRP Router-ID in IP address format\n")
 {
-  //struct eigrp *eigrp = vty->index;
-  /*TODO: */
+       // struct eigrp *eigrp = vty->index;
+       /*TODO: */
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_eigrp_router_id,
@@ -271,10 +268,10 @@ DEFUN (no_eigrp_router_id,
        "Router ID for this EIGRP process\n"
        "EIGRP Router-ID in IP address format\n")
 {
-  //struct eigrp *eigrp = vty->index;
-  /*TODO: */
+       // struct eigrp *eigrp = vty->index;
+       /*TODO: */
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (eigrp_passive_interface,
@@ -283,17 +280,16 @@ DEFUN (eigrp_passive_interface,
        "Suppress routing updates on an interface\n"
        "Interface to suppress on\n")
 {
-  VTY_DECLVAR_CONTEXT(eigrp, eigrp);
-  struct eigrp_interface *ei;
-  struct listnode *node;
-  char *ifname = argv[1]->arg;
-
-  for (ALL_LIST_ELEMENTS_RO (eigrp->eiflist, node, ei))
-    {
-      if (strcmp (ifname, ei->ifp->name) == 0)
-        SET_IF_PARAM (IF_DEF_PARAMS (ei->ifp), passive_interface);
-    }
-  return CMD_SUCCESS;
+       VTY_DECLVAR_CONTEXT(eigrp, eigrp);
+       struct eigrp_interface *ei;
+       struct listnode *node;
+       char *ifname = argv[1]->arg;
+
+       for (ALL_LIST_ELEMENTS_RO(eigrp->eiflist, node, ei)) {
+               if (strcmp(ifname, ei->ifp->name) == 0)
+                       SET_IF_PARAM(IF_DEF_PARAMS(ei->ifp), passive_interface);
+       }
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_eigrp_passive_interface,
@@ -303,18 +299,18 @@ DEFUN (no_eigrp_passive_interface,
        "Suppress routing updates on an interface\n"
        "Interface to suppress on\n")
 {
-  VTY_DECLVAR_CONTEXT(eigrp, eigrp);
-  struct eigrp_interface *ei;
-  struct listnode *node;
-  char *ifname = argv[2]->arg;
-
-  for (ALL_LIST_ELEMENTS_RO (eigrp->eiflist, node, ei))
-    {
-      if (strcmp (ifname, ei->ifp->name) == 0)
-        UNSET_IF_PARAM (IF_DEF_PARAMS (ei->ifp), passive_interface);
-    }
-
-  return CMD_SUCCESS;
+       VTY_DECLVAR_CONTEXT(eigrp, eigrp);
+       struct eigrp_interface *ei;
+       struct listnode *node;
+       char *ifname = argv[2]->arg;
+
+       for (ALL_LIST_ELEMENTS_RO(eigrp->eiflist, node, ei)) {
+               if (strcmp(ifname, ei->ifp->name) == 0)
+                       UNSET_IF_PARAM(IF_DEF_PARAMS(ei->ifp),
+                                      passive_interface);
+       }
+
+       return CMD_SUCCESS;
 }
 
 DEFUN (eigrp_timers_active,
@@ -325,10 +321,10 @@ DEFUN (eigrp_timers_active,
        "Active state time limit in minutes\n"
        "Disable time limit for active state\n")
 {
-  //struct eigrp *eigrp = vty->index;
-  /*TODO: */
+       // struct eigrp *eigrp = vty->index;
+       /*TODO: */
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_eigrp_timers_active,
@@ -340,10 +336,10 @@ DEFUN (no_eigrp_timers_active,
        "Active state time limit in minutes\n"
        "Disable time limit for active state\n")
 {
-  //struct eigrp *eigrp = vty->index;
-  /*TODO: */
+       // struct eigrp *eigrp = vty->index;
+       /*TODO: */
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 
@@ -358,10 +354,10 @@ DEFUN (eigrp_metric_weights,
        "K4\n"
        "K5\n")
 {
-  //struct eigrp *eigrp = vty->index;
-  /*TODO: */
+       // struct eigrp *eigrp = vty->index;
+       /*TODO: */
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_eigrp_metric_weights,
@@ -376,10 +372,10 @@ DEFUN (no_eigrp_metric_weights,
        "K4\n"
        "K5\n")
 {
-  //struct eigrp *eigrp = vty->index;
-  /*TODO: */
+       // struct eigrp *eigrp = vty->index;
+       /*TODO: */
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 
@@ -389,21 +385,20 @@ DEFUN (eigrp_network,
        "Enable routing on an IP network\n"
        "EIGRP network prefix\n")
 {
-  VTY_DECLVAR_CONTEXT(eigrp, eigrp);
-  struct prefix_ipv4 p;
-  int ret;
+       VTY_DECLVAR_CONTEXT(eigrp, eigrp);
+       struct prefix_ipv4 p;
+       int ret;
 
-  str2prefix_ipv4(argv[1]->arg, &p);
+       str2prefix_ipv4(argv[1]->arg, &p);
 
-  ret = eigrp_network_set (eigrp, &p);
+       ret = eigrp_network_set(eigrp, &p);
 
-  if (ret == 0)
-    {
-      vty_out (vty, "There is already same network statement.\n");
-      return CMD_WARNING_CONFIG_FAILED;
-    }
+       if (ret == 0) {
+               vty_out(vty, "There is already same network statement.\n");
+               return CMD_WARNING_CONFIG_FAILED;
+       }
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_eigrp_network,
@@ -413,21 +408,20 @@ DEFUN (no_eigrp_network,
        "Disable routing on an IP network\n"
        "EIGRP network prefix\n")
 {
-  VTY_DECLVAR_CONTEXT(eigrp, eigrp);
-  struct prefix_ipv4 p;
-  int ret;
+       VTY_DECLVAR_CONTEXT(eigrp, eigrp);
+       struct prefix_ipv4 p;
+       int ret;
 
-  str2prefix_ipv4(argv[2]->arg, &p);
+       str2prefix_ipv4(argv[2]->arg, &p);
 
-  ret = eigrp_network_unset (eigrp, &p);
+       ret = eigrp_network_unset(eigrp, &p);
 
-  if (ret == 0)
-  {
-    vty_out (vty,"Can't find specified network configuration.\n");
-    return CMD_WARNING_CONFIG_FAILED;
-  }
+       if (ret == 0) {
+               vty_out(vty, "Can't find specified network configuration.\n");
+               return CMD_WARNING_CONFIG_FAILED;
+       }
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (eigrp_neighbor,
@@ -436,9 +430,9 @@ DEFUN (eigrp_neighbor,
        "Specify a neighbor router\n"
        "Neighbor address\n")
 {
-  //struct eigrp *eigrp = vty->index;
+       // struct eigrp *eigrp = vty->index;
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_eigrp_neighbor,
@@ -448,9 +442,9 @@ DEFUN (no_eigrp_neighbor,
        "Specify a neighbor router\n"
        "Neighbor address\n")
 {
-  //struct eigrp *eigrp = vty->index;
+       // struct eigrp *eigrp = vty->index;
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (show_ip_eigrp_topology,
@@ -462,50 +456,49 @@ DEFUN (show_ip_eigrp_topology,
        "IP-EIGRP topology\n"
        "Show all links in topology table\n")
 {
-  struct eigrp *eigrp;
-  struct listnode *node, *node2;
-  struct eigrp_prefix_entry *tn;
-  struct eigrp_neighbor_entry *te;
-  int first;
-
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
-
-  show_ip_eigrp_topology_header (vty, eigrp);
-
-  for (ALL_LIST_ELEMENTS_RO (eigrp->topology_table, node, tn))
-    {
-      first = 1;
-      for (ALL_LIST_ELEMENTS_RO (tn->entries, node2, te))
-        {
-          if (argc == 5 ||
-              (((te->flags & EIGRP_NEIGHBOR_ENTRY_SUCCESSOR_FLAG) == EIGRP_NEIGHBOR_ENTRY_SUCCESSOR_FLAG)||
-               ((te->flags & EIGRP_NEIGHBOR_ENTRY_FSUCCESSOR_FLAG) == EIGRP_NEIGHBOR_ENTRY_FSUCCESSOR_FLAG)))
-            {
-              show_ip_eigrp_neighbor_entry (vty, eigrp, te, &first);
-              first = 0;
-            }
-        }
-    }
-
-  return CMD_SUCCESS;
+       struct eigrp *eigrp;
+       struct listnode *node, *node2;
+       struct eigrp_prefix_entry *tn;
+       struct eigrp_neighbor_entry *te;
+       int first;
+
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
+
+       show_ip_eigrp_topology_header(vty, eigrp);
+
+       for (ALL_LIST_ELEMENTS_RO(eigrp->topology_table, node, tn)) {
+               first = 1;
+               for (ALL_LIST_ELEMENTS_RO(tn->entries, node2, te)) {
+                       if (argc == 5
+                           || (((te->flags
+                                 & EIGRP_NEIGHBOR_ENTRY_SUCCESSOR_FLAG)
+                                == EIGRP_NEIGHBOR_ENTRY_SUCCESSOR_FLAG)
+                               || ((te->flags
+                                    & EIGRP_NEIGHBOR_ENTRY_FSUCCESSOR_FLAG)
+                                   == EIGRP_NEIGHBOR_ENTRY_FSUCCESSOR_FLAG))) {
+                               show_ip_eigrp_neighbor_entry(vty, eigrp, te,
+                                                            &first);
+                               first = 0;
+                       }
+               }
+       }
+
+       return CMD_SUCCESS;
 }
 
-ALIAS (show_ip_eigrp_topology,
-       show_ip_eigrp_topology_detail_cmd,
-       "show ip eigrp topology <A.B.C.D|A.B.C.D/M|detail|summary>",
-       SHOW_STR
-       IP_STR
-       "IP-EIGRP show commands\n"
-       "IP-EIGRP topology\n"
-       "Netwok to display information about\n"
-       "IP prefix <network>/<length>, e.g., 192.168.0.0/16\n"
-       "Show all links in topology table\n"
-       "Show a summary of the topology table\n")
+ALIAS(show_ip_eigrp_topology, show_ip_eigrp_topology_detail_cmd,
+      "show ip eigrp topology <A.B.C.D|A.B.C.D/M|detail|summary>",
+      SHOW_STR IP_STR
+      "IP-EIGRP show commands\n"
+      "IP-EIGRP topology\n"
+      "Netwok to display information about\n"
+      "IP prefix <network>/<length>, e.g., 192.168.0.0/16\n"
+      "Show all links in topology table\n"
+      "Show a summary of the topology table\n")
 
 DEFUN (show_ip_eigrp_interfaces,
        show_ip_eigrp_interfaces_cmd,
@@ -517,40 +510,37 @@ DEFUN (show_ip_eigrp_interfaces,
        "Interface name to look at\n"
        "Detailed information\n")
 {
-  struct eigrp_interface *ei;
-  struct eigrp *eigrp;
-  struct listnode *node;
-  int idx = 0;
-  bool detail = false;
-  const char *ifname = NULL;
-
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, "EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
-
-  if (argv_find (argv, argc, "IFNAME", &idx))
-    ifname = argv[idx]->arg;
-
-  if (argv_find (argv, argc, "detail", &idx))
-    detail = true;
-
-  if (!ifname)
-    show_ip_eigrp_interface_header (vty, eigrp);
-
-  for (ALL_LIST_ELEMENTS_RO (eigrp->eiflist, node, ei))
-    {
-      if (!ifname || strcmp (ei->ifp->name, ifname) == 0)
-        {
-          show_ip_eigrp_interface_sub (vty, eigrp, ei);
-          if (detail)
-            show_ip_eigrp_interface_detail (vty, eigrp, ei);
-        }
-    }
-
-  return CMD_SUCCESS;
+       struct eigrp_interface *ei;
+       struct eigrp *eigrp;
+       struct listnode *node;
+       int idx = 0;
+       bool detail = false;
+       const char *ifname = NULL;
+
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, "EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
+
+       if (argv_find(argv, argc, "IFNAME", &idx))
+               ifname = argv[idx]->arg;
+
+       if (argv_find(argv, argc, "detail", &idx))
+               detail = true;
+
+       if (!ifname)
+               show_ip_eigrp_interface_header(vty, eigrp);
+
+       for (ALL_LIST_ELEMENTS_RO(eigrp->eiflist, node, ei)) {
+               if (!ifname || strcmp(ei->ifp->name, ifname) == 0) {
+                       show_ip_eigrp_interface_sub(vty, eigrp, ei);
+                       if (detail)
+                               show_ip_eigrp_interface_detail(vty, eigrp, ei);
+               }
+       }
+
+       return CMD_SUCCESS;
 }
 
 DEFUN (show_ip_eigrp_neighbors,
@@ -563,41 +553,38 @@ DEFUN (show_ip_eigrp_neighbors,
        "Interface to show on\n"
        "Detailed Information\n")
 {
-  struct eigrp *eigrp;
-  struct eigrp_interface *ei;
-  struct listnode *node, *node2, *nnode2;
-  struct eigrp_neighbor *nbr;
-  bool detail = false;
-  int idx = 0;
-  const char *ifname = NULL;
-
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
-
-  if (argv_find(argv, argc, "IFNAME", &idx))
-    ifname = argv[idx]->arg;
-
-  detail = (argv_find(argv, argc, "detail", &idx));
-
-  show_ip_eigrp_neighbor_header (vty, eigrp);
-
-  for (ALL_LIST_ELEMENTS_RO (eigrp->eiflist, node, ei))
-    {
-      if (!ifname || strcmp(ei->ifp->name, ifname) == 0)
-        {
-          for (ALL_LIST_ELEMENTS (ei->nbrs, node2, nnode2, nbr))
-            {
-              if (detail || (nbr->state == EIGRP_NEIGHBOR_UP))
-                show_ip_eigrp_neighbor_sub (vty, nbr, detail);
-            }
-        }
-    }
-
-  return CMD_SUCCESS;
+       struct eigrp *eigrp;
+       struct eigrp_interface *ei;
+       struct listnode *node, *node2, *nnode2;
+       struct eigrp_neighbor *nbr;
+       bool detail = false;
+       int idx = 0;
+       const char *ifname = NULL;
+
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
+
+       if (argv_find(argv, argc, "IFNAME", &idx))
+               ifname = argv[idx]->arg;
+
+       detail = (argv_find(argv, argc, "detail", &idx));
+
+       show_ip_eigrp_neighbor_header(vty, eigrp);
+
+       for (ALL_LIST_ELEMENTS_RO(eigrp->eiflist, node, ei)) {
+               if (!ifname || strcmp(ei->ifp->name, ifname) == 0) {
+                       for (ALL_LIST_ELEMENTS(ei->nbrs, node2, nnode2, nbr)) {
+                               if (detail || (nbr->state == EIGRP_NEIGHBOR_UP))
+                                       show_ip_eigrp_neighbor_sub(vty, nbr,
+                                                                  detail);
+                       }
+               }
+       }
+
+       return CMD_SUCCESS;
 }
 
 DEFUN (eigrp_if_delay,
@@ -606,24 +593,23 @@ DEFUN (eigrp_if_delay,
        "Specify interface throughput delay\n"
        "Throughput delay (tens of microseconds)\n")
 {
-  VTY_DECLVAR_CONTEXT(interface, ifp);
-  struct eigrp *eigrp;
-  u_int32_t delay;
+       VTY_DECLVAR_CONTEXT(interface, ifp);
+       struct eigrp *eigrp;
+       u_int32_t delay;
 
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
 
-      return CMD_SUCCESS;
-    }
+               return CMD_SUCCESS;
+       }
 
-  delay = atoi (argv[1]->arg);
+       delay = atoi(argv[1]->arg);
 
-  IF_DEF_PARAMS (ifp)->delay = delay;
-  eigrp_if_reset (ifp);
+       IF_DEF_PARAMS(ifp)->delay = delay;
+       eigrp_if_reset(ifp);
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_eigrp_if_delay,
@@ -633,21 +619,20 @@ DEFUN (no_eigrp_if_delay,
        "Specify interface throughput delay\n"
        "Throughput delay (tens of microseconds)\n")
 {
-  VTY_DECLVAR_CONTEXT(interface, ifp);
-  struct eigrp *eigrp;
+       VTY_DECLVAR_CONTEXT(interface, ifp);
+       struct eigrp *eigrp;
 
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
 
-      return CMD_SUCCESS;
-    }
+               return CMD_SUCCESS;
+       }
 
-  IF_DEF_PARAMS (ifp)->delay = EIGRP_DELAY_DEFAULT;
-  eigrp_if_reset (ifp);
+       IF_DEF_PARAMS(ifp)->delay = EIGRP_DELAY_DEFAULT;
+       eigrp_if_reset(ifp);
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (eigrp_if_bandwidth,
@@ -657,23 +642,22 @@ DEFUN (eigrp_if_bandwidth,
        "Set bandwidth informational parameter\n"
        "Bandwidth in kilobits\n")
 {
-  VTY_DECLVAR_CONTEXT(interface, ifp);
-  u_int32_t bandwidth;
-  struct eigrp *eigrp;
+       VTY_DECLVAR_CONTEXT(interface, ifp);
+       u_int32_t bandwidth;
+       struct eigrp *eigrp;
 
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
 
-  bandwidth = atoi (argv[1]->arg);
+       bandwidth = atoi(argv[1]->arg);
 
-  IF_DEF_PARAMS (ifp)->bandwidth = bandwidth;
-  eigrp_if_reset (ifp);
+       IF_DEF_PARAMS(ifp)->bandwidth = bandwidth;
+       eigrp_if_reset(ifp);
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_eigrp_if_bandwidth,
@@ -684,20 +668,19 @@ DEFUN (no_eigrp_if_bandwidth,
        "Set bandwidth informational parameter\n"
        "Bandwidth in kilobits\n")
 {
-  VTY_DECLVAR_CONTEXT(interface, ifp);
-  struct eigrp *eigrp;
+       VTY_DECLVAR_CONTEXT(interface, ifp);
+       struct eigrp *eigrp;
 
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
 
-  IF_DEF_PARAMS (ifp)->bandwidth = EIGRP_BANDWIDTH_DEFAULT;
-  eigrp_if_reset (ifp);
+       IF_DEF_PARAMS(ifp)->bandwidth = EIGRP_BANDWIDTH_DEFAULT;
+       eigrp_if_reset(ifp);
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (eigrp_if_ip_hellointerval,
@@ -708,22 +691,21 @@ DEFUN (eigrp_if_ip_hellointerval,
        "Enhanced Interior Gateway Routing Protocol (EIGRP)\n"
        "Seconds between hello transmissions\n")
 {
-  VTY_DECLVAR_CONTEXT(interface, ifp);
-  u_int32_t hello;
-  struct eigrp *eigrp;
+       VTY_DECLVAR_CONTEXT(interface, ifp);
+       u_int32_t hello;
+       struct eigrp *eigrp;
 
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
 
-  hello = atoi (argv[3]->arg);
+       hello = atoi(argv[3]->arg);
 
-  IF_DEF_PARAMS (ifp)->v_hello = hello;
+       IF_DEF_PARAMS(ifp)->v_hello = hello;
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_eigrp_if_ip_hellointerval,
@@ -735,31 +717,29 @@ DEFUN (no_eigrp_if_ip_hellointerval,
        "Enhanced Interior Gateway Routing Protocol (EIGRP)\n"
        "Seconds between hello transmissions\n")
 {
-  VTY_DECLVAR_CONTEXT(interface, ifp);
-  struct eigrp *eigrp;
-  struct eigrp_interface *ei;
-  struct listnode *node, *nnode;
-
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
-
-  IF_DEF_PARAMS (ifp)->v_hello = EIGRP_HELLO_INTERVAL_DEFAULT;
-
-  for (ALL_LIST_ELEMENTS (eigrp->eiflist, node, nnode, ei))
-    {
-      if (ei->ifp == ifp)
-        {
-          THREAD_TIMER_OFF (ei->t_hello);
-          thread_add_timer (master, eigrp_hello_timer, ei, 1, &ei->t_hello);
-          break;
-        }
-    }
-
-  return CMD_SUCCESS;
+       VTY_DECLVAR_CONTEXT(interface, ifp);
+       struct eigrp *eigrp;
+       struct eigrp_interface *ei;
+       struct listnode *node, *nnode;
+
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
+
+       IF_DEF_PARAMS(ifp)->v_hello = EIGRP_HELLO_INTERVAL_DEFAULT;
+
+       for (ALL_LIST_ELEMENTS(eigrp->eiflist, node, nnode, ei)) {
+               if (ei->ifp == ifp) {
+                       THREAD_TIMER_OFF(ei->t_hello);
+                       thread_add_timer(master, eigrp_hello_timer, ei, 1,
+                                        &ei->t_hello);
+                       break;
+               }
+       }
+
+       return CMD_SUCCESS;
 }
 
 DEFUN (eigrp_if_ip_holdinterval,
@@ -770,22 +750,21 @@ DEFUN (eigrp_if_ip_holdinterval,
        "Enhanced Interior Gateway Routing Protocol (EIGRP)\n"
        "Seconds before neighbor is considered down\n")
 {
-  VTY_DECLVAR_CONTEXT(interface, ifp);
-  u_int32_t hold;
-  struct eigrp *eigrp;
+       VTY_DECLVAR_CONTEXT(interface, ifp);
+       u_int32_t hold;
+       struct eigrp *eigrp;
 
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
 
-  hold = atoi (argv[3]->arg);
+       hold = atoi(argv[3]->arg);
 
-  IF_DEF_PARAMS (ifp)->v_wait = hold;
+       IF_DEF_PARAMS(ifp)->v_wait = hold;
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (eigrp_ip_summary_address,
@@ -797,22 +776,21 @@ DEFUN (eigrp_ip_summary_address,
        "AS number\n"
        "Summary <network>/<length>, e.g. 192.168.0.0/16\n")
 {
-  //VTY_DECLVAR_CONTEXT(interface, ifp);
-  //u_int32_t AS;
-  struct eigrp *eigrp;
+       // VTY_DECLVAR_CONTEXT(interface, ifp);
+       // u_int32_t AS;
+       struct eigrp *eigrp;
 
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
 
-  //AS = atoi (argv[3]->arg);
+       // AS = atoi (argv[3]->arg);
 
-  /*TODO: */
+       /*TODO: */
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_eigrp_ip_summary_address,
@@ -825,22 +803,21 @@ DEFUN (no_eigrp_ip_summary_address,
        "AS number\n"
        "Summary <network>/<length>, e.g. 192.168.0.0/16\n")
 {
-  //VTY_DECLVAR_CONTEXT(interface, ifp);
-  //u_int32_t AS;
-  struct eigrp *eigrp;
+       // VTY_DECLVAR_CONTEXT(interface, ifp);
+       // u_int32_t AS;
+       struct eigrp *eigrp;
 
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
 
-  //AS = atoi (argv[4]->arg);
+       // AS = atoi (argv[4]->arg);
 
-  /*TODO: */
+       /*TODO: */
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_eigrp_if_ip_holdinterval,
@@ -852,40 +829,35 @@ DEFUN (no_eigrp_if_ip_holdinterval,
        "Enhanced Interior Gateway Routing Protocol (EIGRP)\n"
        "Seconds before neighbor is considered down\n")
 {
-  VTY_DECLVAR_CONTEXT(interface, ifp);
-  struct eigrp *eigrp;
+       VTY_DECLVAR_CONTEXT(interface, ifp);
+       struct eigrp *eigrp;
 
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
 
-  IF_DEF_PARAMS (ifp)->v_wait = EIGRP_HOLD_INTERVAL_DEFAULT;
+       IF_DEF_PARAMS(ifp)->v_wait = EIGRP_HOLD_INTERVAL_DEFAULT;
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
-static int
-str2auth_type (const char *str, struct interface *ifp)
+static int str2auth_type(const char *str, struct interface *ifp)
 {
-  /* Sanity check. */
-  if (str == NULL)
-     return CMD_WARNING_CONFIG_FAILED;
-
-  if(strncmp(str, "md5",3) == 0)
-    {
-      IF_DEF_PARAMS (ifp)->auth_type = EIGRP_AUTH_TYPE_MD5;
-      return CMD_SUCCESS;
-    }
-  else if(strncmp(str, "hmac-sha-256",12) == 0)
-    {
-      IF_DEF_PARAMS (ifp)->auth_type = EIGRP_AUTH_TYPE_SHA256;
-      return CMD_SUCCESS;
-    }
-
-  return CMD_WARNING_CONFIG_FAILED;
+       /* Sanity check. */
+       if (str == NULL)
+               return CMD_WARNING_CONFIG_FAILED;
+
+       if (strncmp(str, "md5", 3) == 0) {
+               IF_DEF_PARAMS(ifp)->auth_type = EIGRP_AUTH_TYPE_MD5;
+               return CMD_SUCCESS;
+       } else if (strncmp(str, "hmac-sha-256", 12) == 0) {
+               IF_DEF_PARAMS(ifp)->auth_type = EIGRP_AUTH_TYPE_SHA256;
+               return CMD_SUCCESS;
+       }
+
+       return CMD_WARNING_CONFIG_FAILED;
 }
 
 DEFUN (eigrp_authentication_mode,
@@ -899,22 +871,21 @@ DEFUN (eigrp_authentication_mode,
        "Keyed message digest\n"
        "HMAC SHA256 algorithm \n")
 {
-  VTY_DECLVAR_CONTEXT(interface, ifp);
-  struct eigrp *eigrp;
-
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
-
-  //  if(strncmp(argv[2], "md5",3))
-  //    IF_DEF_PARAMS (ifp)->auth_type = EIGRP_AUTH_TYPE_MD5;
-  //  else if(strncmp(argv[2], "hmac-sha-256",12))
-  //    IF_DEF_PARAMS (ifp)->auth_type = EIGRP_AUTH_TYPE_SHA256;
-
-  return str2auth_type(argv[5]->arg, ifp);
+       VTY_DECLVAR_CONTEXT(interface, ifp);
+       struct eigrp *eigrp;
+
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
+
+       //  if(strncmp(argv[2], "md5",3))
+       //    IF_DEF_PARAMS (ifp)->auth_type = EIGRP_AUTH_TYPE_MD5;
+       //  else if(strncmp(argv[2], "hmac-sha-256",12))
+       //    IF_DEF_PARAMS (ifp)->auth_type = EIGRP_AUTH_TYPE_SHA256;
+
+       return str2auth_type(argv[5]->arg, ifp);
 }
 
 DEFUN (no_eigrp_authentication_mode,
@@ -929,19 +900,18 @@ DEFUN (no_eigrp_authentication_mode,
        "Keyed message digest\n"
        "HMAC SHA256 algorithm \n")
 {
-  VTY_DECLVAR_CONTEXT(interface, ifp);
-  struct eigrp *eigrp;
+       VTY_DECLVAR_CONTEXT(interface, ifp);
+       struct eigrp *eigrp;
 
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
 
-  IF_DEF_PARAMS (ifp)->auth_type = EIGRP_AUTH_TYPE_NONE;
+       IF_DEF_PARAMS(ifp)->auth_type = EIGRP_AUTH_TYPE_NONE;
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (eigrp_authentication_keychain,
@@ -954,32 +924,29 @@ DEFUN (eigrp_authentication_keychain,
        "Autonomous system number\n"
        "Name of key-chain\n")
 {
-  VTY_DECLVAR_CONTEXT(interface, ifp);
-  struct eigrp *eigrp;
-  struct keychain *keychain;
-
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, "EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
-
-  keychain = keychain_lookup (argv[4]->arg);
-  if(keychain != NULL)
-    {
-      if(IF_DEF_PARAMS (ifp)->auth_keychain)
-        {
-          free (IF_DEF_PARAMS (ifp)->auth_keychain);
-          IF_DEF_PARAMS (ifp)->auth_keychain = strdup(keychain->name);
-        }
-      else
-        IF_DEF_PARAMS (ifp)->auth_keychain = strdup(keychain->name);
-    }
-  else
-    vty_out (vty,"Key chain with specified name not found\n");
-
-  return CMD_SUCCESS;
+       VTY_DECLVAR_CONTEXT(interface, ifp);
+       struct eigrp *eigrp;
+       struct keychain *keychain;
+
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, "EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
+
+       keychain = keychain_lookup(argv[4]->arg);
+       if (keychain != NULL) {
+               if (IF_DEF_PARAMS(ifp)->auth_keychain) {
+                       free(IF_DEF_PARAMS(ifp)->auth_keychain);
+                       IF_DEF_PARAMS(ifp)->auth_keychain =
+                               strdup(keychain->name);
+               } else
+                       IF_DEF_PARAMS(ifp)->auth_keychain =
+                               strdup(keychain->name);
+       } else
+               vty_out(vty, "Key chain with specified name not found\n");
+
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_eigrp_authentication_keychain,
@@ -993,27 +960,24 @@ DEFUN (no_eigrp_authentication_keychain,
        "Autonomous system number\n"
        "Name of key-chain\n")
 {
-  VTY_DECLVAR_CONTEXT(interface, ifp);
-  struct eigrp *eigrp;
-
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, "EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
-
-  if((IF_DEF_PARAMS (ifp)->auth_keychain != NULL) &&
-     (strcmp(IF_DEF_PARAMS (ifp)->auth_keychain,argv[5]->arg)==0))
-    {
-      free (IF_DEF_PARAMS (ifp)->auth_keychain);
-      IF_DEF_PARAMS (ifp)->auth_keychain = NULL;
-    }
-  else
-    vty_out (vty,
-              "Key chain with specified name not configured on interface\n");
-
-  return CMD_SUCCESS;
+       VTY_DECLVAR_CONTEXT(interface, ifp);
+       struct eigrp *eigrp;
+
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, "EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
+
+       if ((IF_DEF_PARAMS(ifp)->auth_keychain != NULL)
+           && (strcmp(IF_DEF_PARAMS(ifp)->auth_keychain, argv[5]->arg) == 0)) {
+               free(IF_DEF_PARAMS(ifp)->auth_keychain);
+               IF_DEF_PARAMS(ifp)->auth_keychain = NULL;
+       } else
+               vty_out(vty,
+                       "Key chain with specified name not configured on interface\n");
+
+       return CMD_SUCCESS;
 }
 
 DEFUN (eigrp_redistribute_source_metric,
@@ -1029,20 +993,20 @@ DEFUN (eigrp_redistribute_source_metric,
        "EIGRP Effective bandwidth metric (Loading) where 255 is 100% loaded\n"
        "EIGRP MTU of the path\n")
 {
-  VTY_DECLVAR_CONTEXT(eigrp, eigrp);
-  struct eigrp_metrics metrics_from_command = { 0 };
-  int source;
-  int idx = 0;
+       VTY_DECLVAR_CONTEXT(eigrp, eigrp);
+       struct eigrp_metrics metrics_from_command = {0};
+       int source;
+       int idx = 0;
 
-  /* Get distribute source. */
-  argv_find (argv, argc, "redistribute", &idx);
-  source = proto_redistnum(AFI_IP, argv[idx+1]->arg);
-  if (source < 0 )
-    return CMD_WARNING_CONFIG_FAILED;
+       /* Get distribute source. */
+       argv_find(argv, argc, "redistribute", &idx);
+       source = proto_redistnum(AFI_IP, argv[idx + 1]->arg);
+       if (source < 0)
+               return CMD_WARNING_CONFIG_FAILED;
 
-  /* Get metrics values */
+       /* Get metrics values */
 
-  return eigrp_redistribute_set (eigrp, source, metrics_from_command);
+       return eigrp_redistribute_set(eigrp, source, metrics_from_command);
 }
 
 DEFUN (no_eigrp_redistribute_source_metric,
@@ -1059,19 +1023,19 @@ DEFUN (no_eigrp_redistribute_source_metric,
        "EIGRP Effective bandwidth metric (Loading) where 255 is 100% loaded\n"
        "EIGRP MTU of the path\n")
 {
-  VTY_DECLVAR_CONTEXT(eigrp, eigrp);
-  int source;
-  int idx = 0;
+       VTY_DECLVAR_CONTEXT(eigrp, eigrp);
+       int source;
+       int idx = 0;
 
-  /* Get distribute source. */
-  argv_find (argv, argc, "redistribute", &idx);
-  source = proto_redistnum(AFI_IP, argv[idx+1]->arg);
-  if (source < 0 )
-    return CMD_WARNING_CONFIG_FAILED;
+       /* Get distribute source. */
+       argv_find(argv, argc, "redistribute", &idx);
+       source = proto_redistnum(AFI_IP, argv[idx + 1]->arg);
+       if (source < 0)
+               return CMD_WARNING_CONFIG_FAILED;
 
-  /* Get metrics values */
+       /* Get metrics values */
 
-  return eigrp_redistribute_unset (eigrp, source);
+       return eigrp_redistribute_unset(eigrp, source);
 }
 
 DEFUN (eigrp_variance,
@@ -1080,22 +1044,21 @@ DEFUN (eigrp_variance,
        "Control load balancing variance\n"
        "Metric variance multiplier\n")
 {
-  struct eigrp *eigrp;
-  u_char variance;
+       struct eigrp *eigrp;
+       u_char variance;
 
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, "EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
-  variance = atoi(argv[1]->arg);
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, "EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
+       variance = atoi(argv[1]->arg);
 
-  eigrp->variance = variance;
+       eigrp->variance = variance;
 
-  /*TODO: */
+       /*TODO: */
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_eigrp_variance,
@@ -1105,19 +1068,18 @@ DEFUN (no_eigrp_variance,
        "Control load balancing variance\n"
        "Metric variance multiplier\n")
 {
-  struct eigrp *eigrp;
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, "EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
+       struct eigrp *eigrp;
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, "EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
 
-  eigrp->variance = EIGRP_VARIANCE_DEFAULT;
+       eigrp->variance = EIGRP_VARIANCE_DEFAULT;
 
-  /*TODO: */
+       /*TODO: */
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (eigrp_maximum_paths,
@@ -1126,23 +1088,22 @@ DEFUN (eigrp_maximum_paths,
        "Forward packets over multiple paths\n"
        "Number of paths\n")
 {
-  struct eigrp *eigrp;
-  u_char max;
+       struct eigrp *eigrp;
+       u_char max;
 
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, "EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, "EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
 
-  max = atoi(argv[1]->arg);
+       max = atoi(argv[1]->arg);
 
-  eigrp->max_paths = max;
+       eigrp->max_paths = max;
 
-  /*TODO: */
+       /*TODO: */
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_eigrp_maximum_paths,
@@ -1152,20 +1113,19 @@ DEFUN (no_eigrp_maximum_paths,
        "Forward packets over multiple paths\n"
        "Number of paths\n")
 {
-  struct eigrp *eigrp;
+       struct eigrp *eigrp;
 
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, "EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, "EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
 
-  eigrp->max_paths = EIGRP_MAX_PATHS_DEFAULT;
+       eigrp->max_paths = EIGRP_MAX_PATHS_DEFAULT;
 
-  /*TODO: */
+       /*TODO: */
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 /*
@@ -1179,47 +1139,47 @@ DEFUN (clear_ip_eigrp_neighbors,
        "Clear IP-EIGRP\n"
        "Clear IP-EIGRP neighbors\n")
 {
-  struct eigrp *eigrp;
-  struct eigrp_interface *ei;
-  struct listnode *node, *node2, *nnode2;
-  struct eigrp_neighbor *nbr;
-
-  /* Check if eigrp process is enabled */
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
-
-  /* iterate over all eigrp interfaces */
-  for (ALL_LIST_ELEMENTS_RO (eigrp->eiflist, node, ei))
-    {
-      /* send Goodbye Hello */
-      eigrp_hello_send(ei, EIGRP_HELLO_GRACEFUL_SHUTDOWN, NULL);
-
-      /* iterate over all neighbors on eigrp interface */
-      for (ALL_LIST_ELEMENTS (ei->nbrs, node2, nnode2, nbr))
-        {
-          if (nbr->state != EIGRP_NEIGHBOR_DOWN)
-            {
-              zlog_debug ("Neighbor %s (%s) is down: manually cleared",
-                          inet_ntoa (nbr->src),
-                          ifindex2ifname (nbr->ei->ifp->ifindex, VRF_DEFAULT));
-              vty_time_print (vty, 0);
-              vty_out (vty, "Neighbor %s (%s) is down: manually cleared\n",
-                       inet_ntoa (nbr->src),
-                       ifindex2ifname(nbr->ei->ifp->ifindex, VRF_DEFAULT));
-
-              /* set neighbor to DOWN */
-              nbr->state = EIGRP_NEIGHBOR_DOWN;
-              /* delete neighbor */
-              eigrp_nbr_delete (nbr);
-            }
-        }
-    }
-
-  return CMD_SUCCESS;
+       struct eigrp *eigrp;
+       struct eigrp_interface *ei;
+       struct listnode *node, *node2, *nnode2;
+       struct eigrp_neighbor *nbr;
+
+       /* Check if eigrp process is enabled */
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
+
+       /* iterate over all eigrp interfaces */
+       for (ALL_LIST_ELEMENTS_RO(eigrp->eiflist, node, ei)) {
+               /* send Goodbye Hello */
+               eigrp_hello_send(ei, EIGRP_HELLO_GRACEFUL_SHUTDOWN, NULL);
+
+               /* iterate over all neighbors on eigrp interface */
+               for (ALL_LIST_ELEMENTS(ei->nbrs, node2, nnode2, nbr)) {
+                       if (nbr->state != EIGRP_NEIGHBOR_DOWN) {
+                               zlog_debug(
+                                       "Neighbor %s (%s) is down: manually cleared",
+                                       inet_ntoa(nbr->src),
+                                       ifindex2ifname(nbr->ei->ifp->ifindex,
+                                                      VRF_DEFAULT));
+                               vty_time_print(vty, 0);
+                               vty_out(vty,
+                                       "Neighbor %s (%s) is down: manually cleared\n",
+                                       inet_ntoa(nbr->src),
+                                       ifindex2ifname(nbr->ei->ifp->ifindex,
+                                                      VRF_DEFAULT));
+
+                               /* set neighbor to DOWN */
+                               nbr->state = EIGRP_NEIGHBOR_DOWN;
+                               /* delete neighbor */
+                               eigrp_nbr_delete(nbr);
+                       }
+               }
+       }
+
+       return CMD_SUCCESS;
 }
 
 /*
@@ -1234,53 +1194,52 @@ DEFUN (clear_ip_eigrp_neighbors_int,
        "Clear IP-EIGRP neighbors\n"
        "Interface's name\n")
 {
-  struct eigrp *eigrp;
-  struct eigrp_interface *ei;
-  struct listnode *node2, *nnode2;
-  struct eigrp_neighbor *nbr;
-  int idx = 0;
-
-  /* Check if eigrp process is enabled */
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
-
-  /* lookup interface by specified name */
-  argv_find(argv, argc, "IFNAME", &idx);
-  ei = eigrp_if_lookup_by_name(eigrp, argv[idx]->arg);
-  if(ei == NULL)
-    {
-      vty_out (vty, " Interface (%s) doesn't exist\n", argv[idx]->arg);
-      return CMD_WARNING;
-    }
-
-  /* send Goodbye Hello */
-  eigrp_hello_send(ei, EIGRP_HELLO_GRACEFUL_SHUTDOWN, NULL);
-
-  /* iterate over all neighbors on eigrp interface */
-  for (ALL_LIST_ELEMENTS (ei->nbrs, node2, nnode2, nbr))
-    {
-      if (nbr->state != EIGRP_NEIGHBOR_DOWN)
-        {
-          zlog_debug ("Neighbor %s (%s) is down: manually cleared",
-                      inet_ntoa (nbr->src),
-                      ifindex2ifname (nbr->ei->ifp->ifindex, VRF_DEFAULT));
-          vty_time_print (vty, 0);
-          vty_out (vty, "Neighbor %s (%s) is down: manually cleared\n",
-                   inet_ntoa (nbr->src),
-                   ifindex2ifname(nbr->ei->ifp->ifindex, VRF_DEFAULT));
-
-          /* set neighbor to DOWN */
-          nbr->state = EIGRP_NEIGHBOR_DOWN;
-          /* delete neighbor */
-          eigrp_nbr_delete (nbr);
-        }
-    }
-
-  return CMD_SUCCESS;
+       struct eigrp *eigrp;
+       struct eigrp_interface *ei;
+       struct listnode *node2, *nnode2;
+       struct eigrp_neighbor *nbr;
+       int idx = 0;
+
+       /* Check if eigrp process is enabled */
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
+
+       /* lookup interface by specified name */
+       argv_find(argv, argc, "IFNAME", &idx);
+       ei = eigrp_if_lookup_by_name(eigrp, argv[idx]->arg);
+       if (ei == NULL) {
+               vty_out(vty, " Interface (%s) doesn't exist\n", argv[idx]->arg);
+               return CMD_WARNING;
+       }
+
+       /* send Goodbye Hello */
+       eigrp_hello_send(ei, EIGRP_HELLO_GRACEFUL_SHUTDOWN, NULL);
+
+       /* iterate over all neighbors on eigrp interface */
+       for (ALL_LIST_ELEMENTS(ei->nbrs, node2, nnode2, nbr)) {
+               if (nbr->state != EIGRP_NEIGHBOR_DOWN) {
+                       zlog_debug("Neighbor %s (%s) is down: manually cleared",
+                                  inet_ntoa(nbr->src),
+                                  ifindex2ifname(nbr->ei->ifp->ifindex,
+                                                 VRF_DEFAULT));
+                       vty_time_print(vty, 0);
+                       vty_out(vty,
+                               "Neighbor %s (%s) is down: manually cleared\n",
+                               inet_ntoa(nbr->src),
+                               ifindex2ifname(nbr->ei->ifp->ifindex,
+                                              VRF_DEFAULT));
+
+                       /* set neighbor to DOWN */
+                       nbr->state = EIGRP_NEIGHBOR_DOWN;
+                       /* delete neighbor */
+                       eigrp_nbr_delete(nbr);
+               }
+       }
+
+       return CMD_SUCCESS;
 }
 
 /*
@@ -1295,34 +1254,32 @@ DEFUN (clear_ip_eigrp_neighbors_IP,
        "Clear IP-EIGRP neighbors\n"
        "IP-EIGRP neighbor address\n")
 {
-  struct eigrp *eigrp;
-  struct eigrp_neighbor *nbr;
-  struct in_addr nbr_addr;
-
-  inet_aton(argv[4]->arg, &nbr_addr);
-
-  /* Check if eigrp process is enabled */
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
-
-  /* lookup neighbor in whole process */
-  nbr = eigrp_nbr_lookup_by_addr_process(eigrp, nbr_addr);
-
-  /* if neighbor doesn't exists, notify user and exit */
-  if(nbr == NULL)
-    {
-      vty_out (vty, "Neighbor with entered address doesn't exists.\n");
-      return CMD_WARNING;
-    }
-
-  /* execute hard reset on neighbor */
-  eigrp_nbr_hard_restart(nbr, vty);
-
-  return CMD_SUCCESS;
+       struct eigrp *eigrp;
+       struct eigrp_neighbor *nbr;
+       struct in_addr nbr_addr;
+
+       inet_aton(argv[4]->arg, &nbr_addr);
+
+       /* Check if eigrp process is enabled */
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
+
+       /* lookup neighbor in whole process */
+       nbr = eigrp_nbr_lookup_by_addr_process(eigrp, nbr_addr);
+
+       /* if neighbor doesn't exists, notify user and exit */
+       if (nbr == NULL) {
+               vty_out(vty, "Neighbor with entered address doesn't exists.\n");
+               return CMD_WARNING;
+       }
+
+       /* execute hard reset on neighbor */
+       eigrp_nbr_hard_restart(nbr, vty);
+
+       return CMD_SUCCESS;
 }
 
 /*
@@ -1337,20 +1294,19 @@ DEFUN (clear_ip_eigrp_neighbors_soft,
        "Clear IP-EIGRP neighbors\n"
        "Resync with peers without adjacency reset\n")
 {
-  struct eigrp *eigrp;
+       struct eigrp *eigrp;
 
-  /* Check if eigrp process is enabled */
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
+       /* Check if eigrp process is enabled */
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
 
-  /* execute graceful restart on all neighbors */
-  eigrp_update_send_process_GR(eigrp, EIGRP_GR_MANUAL, vty);
+       /* execute graceful restart on all neighbors */
+       eigrp_update_send_process_GR(eigrp, EIGRP_GR_MANUAL, vty);
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 /*
@@ -1366,28 +1322,26 @@ DEFUN (clear_ip_eigrp_neighbors_int_soft,
        "Interface's name\n"
        "Resync with peer without adjacency reset\n")
 {
-  struct eigrp *eigrp;
-  struct eigrp_interface *ei;
-
-  /* Check if eigrp process is enabled */
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
-
-  /* lookup interface by specified name */
-  ei = eigrp_if_lookup_by_name(eigrp, argv[4]->arg);
-  if(ei == NULL)
-    {
-      vty_out (vty, " Interface (%s) doesn't exist\n", argv[4]->arg);
-      return CMD_WARNING;
-    }
-
-  /* execute graceful restart for all neighbors on interface */
-  eigrp_update_send_interface_GR(ei, EIGRP_GR_MANUAL, vty);
-  return CMD_SUCCESS;
+       struct eigrp *eigrp;
+       struct eigrp_interface *ei;
+
+       /* Check if eigrp process is enabled */
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
+
+       /* lookup interface by specified name */
+       ei = eigrp_if_lookup_by_name(eigrp, argv[4]->arg);
+       if (ei == NULL) {
+               vty_out(vty, " Interface (%s) doesn't exist\n", argv[4]->arg);
+               return CMD_WARNING;
+       }
+
+       /* execute graceful restart for all neighbors on interface */
+       eigrp_update_send_interface_GR(ei, EIGRP_GR_MANUAL, vty);
+       return CMD_SUCCESS;
 }
 
 /*
@@ -1403,171 +1357,153 @@ DEFUN (clear_ip_eigrp_neighbors_IP_soft,
        "IP-EIGRP neighbor address\n"
        "Resync with peer without adjacency reset\n")
 {
-  struct eigrp *eigrp;
-  struct eigrp_neighbor *nbr;
-  struct in_addr nbr_addr;
-
-  inet_aton(argv[4]->arg, &nbr_addr);
-
-  /* Check if eigrp process is enabled */
-  eigrp = eigrp_lookup ();
-  if (eigrp == NULL)
-    {
-      vty_out (vty, " EIGRP Routing Process not enabled\n");
-      return CMD_SUCCESS;
-    }
-
-  /* lookup neighbor in whole process */
-  nbr = eigrp_nbr_lookup_by_addr_process(eigrp, nbr_addr);
-
-  /* if neighbor doesn't exists, notify user and exit */
-  if(nbr == NULL)
-    {
-      vty_out (vty, "Neighbor with entered address doesn't exists.\n");
-      return CMD_WARNING;
-    }
-
-  /* execute graceful restart on neighbor */
-  eigrp_update_send_GR(nbr, EIGRP_GR_MANUAL, vty);
-
-  return CMD_SUCCESS;
+       struct eigrp *eigrp;
+       struct eigrp_neighbor *nbr;
+       struct in_addr nbr_addr;
+
+       inet_aton(argv[4]->arg, &nbr_addr);
+
+       /* Check if eigrp process is enabled */
+       eigrp = eigrp_lookup();
+       if (eigrp == NULL) {
+               vty_out(vty, " EIGRP Routing Process not enabled\n");
+               return CMD_SUCCESS;
+       }
+
+       /* lookup neighbor in whole process */
+       nbr = eigrp_nbr_lookup_by_addr_process(eigrp, nbr_addr);
+
+       /* if neighbor doesn't exists, notify user and exit */
+       if (nbr == NULL) {
+               vty_out(vty, "Neighbor with entered address doesn't exists.\n");
+               return CMD_WARNING;
+       }
+
+       /* execute graceful restart on neighbor */
+       eigrp_update_send_GR(nbr, EIGRP_GR_MANUAL, vty);
+
+       return CMD_SUCCESS;
 }
 
-static struct cmd_node eigrp_node =
-{
-  EIGRP_NODE,
-  "%s(config-router)# ",
-  1
-};
+static struct cmd_node eigrp_node = {EIGRP_NODE, "%s(config-router)# ", 1};
 
 /* Save EIGRP configuration */
-static int
-eigrp_config_write (struct vty *vty)
+static int eigrp_config_write(struct vty *vty)
 {
-  struct eigrp *eigrp;
-
-  int write = 0;
-
-  eigrp = eigrp_lookup ();
-  if (eigrp != NULL)
-    {
-      /* Writes 'router eigrp' section to config */
-      config_write_eigrp_router (vty, eigrp);
-
-      /* Interface config print */
-      config_write_interfaces (vty, eigrp);
-//
-//      /* static neighbor print. */
-//      config_write_eigrp_nbr_nbma (vty, eigrp);
-//
-//      /* Virtual-Link print. */
-//      config_write_virtual_link (vty, eigrp);
-//
-//      /* Default metric configuration.  */
-//      config_write_eigrp_default_metric (vty, eigrp);
-//
-//      /* Distribute-list and default-information print. */
-//      config_write_eigrp_distribute (vty, eigrp);
-//
-//      /* Distance configuration. */
-//      config_write_eigrp_distance (vty, eigrp)
-    }
-
-  return write;
+       struct eigrp *eigrp;
+
+       int write = 0;
+
+       eigrp = eigrp_lookup();
+       if (eigrp != NULL) {
+               /* Writes 'router eigrp' section to config */
+               config_write_eigrp_router(vty, eigrp);
+
+               /* Interface config print */
+               config_write_interfaces(vty, eigrp);
+               //
+               //      /* static neighbor print. */
+               //      config_write_eigrp_nbr_nbma (vty, eigrp);
+               //
+               //      /* Virtual-Link print. */
+               //      config_write_virtual_link (vty, eigrp);
+               //
+               //      /* Default metric configuration.  */
+               //      config_write_eigrp_default_metric (vty, eigrp);
+               //
+               //      /* Distribute-list and default-information print. */
+               //      config_write_eigrp_distribute (vty, eigrp);
+               //
+               //      /* Distance configuration. */
+               //      config_write_eigrp_distance (vty, eigrp)
+       }
+
+       return write;
 }
 
-void
-eigrp_vty_show_init (void)
+void eigrp_vty_show_init(void)
 {
-  install_element (VIEW_NODE, &show_ip_eigrp_interfaces_cmd);
-
-  install_element (VIEW_NODE, &show_ip_eigrp_neighbors_cmd);
+       install_element(VIEW_NODE, &show_ip_eigrp_interfaces_cmd);
 
-  install_element (VIEW_NODE, &show_ip_eigrp_topology_cmd);
+       install_element(VIEW_NODE, &show_ip_eigrp_neighbors_cmd);
 
-  install_element (VIEW_NODE, &show_ip_eigrp_topology_detail_cmd);
+       install_element(VIEW_NODE, &show_ip_eigrp_topology_cmd);
 
+       install_element(VIEW_NODE, &show_ip_eigrp_topology_detail_cmd);
 }
 
 /* eigrpd's interface node. */
-static struct cmd_node eigrp_interface_node =
-{
-  INTERFACE_NODE,
-  "%s(config-if)# ",
-  1
-};
+static struct cmd_node eigrp_interface_node = {INTERFACE_NODE,
+                                              "%s(config-if)# ", 1};
 
-void
-eigrp_vty_if_init (void)
+void eigrp_vty_if_init(void)
 {
-  install_node (&eigrp_interface_node, eigrp_write_interface);
-  if_cmd_init();
-
-  /* Delay and bandwidth configuration commands*/
-  install_element (INTERFACE_NODE, &eigrp_if_delay_cmd);
-  install_element (INTERFACE_NODE, &no_eigrp_if_delay_cmd);
-  install_element (INTERFACE_NODE, &eigrp_if_bandwidth_cmd);
-  install_element (INTERFACE_NODE, &no_eigrp_if_bandwidth_cmd);
-
-  /*Hello-interval and hold-time interval configuration commands*/
-  install_element (INTERFACE_NODE, &eigrp_if_ip_holdinterval_cmd);
-  install_element (INTERFACE_NODE, &no_eigrp_if_ip_holdinterval_cmd);
-  install_element (INTERFACE_NODE, &eigrp_if_ip_hellointerval_cmd);
-  install_element (INTERFACE_NODE, &no_eigrp_if_ip_hellointerval_cmd);
-
-  /* "Authentication configuration commands */
-  install_element (INTERFACE_NODE, &eigrp_authentication_mode_cmd);
-  install_element (INTERFACE_NODE, &no_eigrp_authentication_mode_cmd);
-  install_element (INTERFACE_NODE, &eigrp_authentication_keychain_cmd);
-  install_element (INTERFACE_NODE, &no_eigrp_authentication_keychain_cmd);
-
-  /*EIGRP Summarization commands*/
-  install_element (INTERFACE_NODE, &eigrp_ip_summary_address_cmd);
-  install_element (INTERFACE_NODE, &no_eigrp_ip_summary_address_cmd);
+       install_node(&eigrp_interface_node, eigrp_write_interface);
+       if_cmd_init();
+
+       /* Delay and bandwidth configuration commands*/
+       install_element(INTERFACE_NODE, &eigrp_if_delay_cmd);
+       install_element(INTERFACE_NODE, &no_eigrp_if_delay_cmd);
+       install_element(INTERFACE_NODE, &eigrp_if_bandwidth_cmd);
+       install_element(INTERFACE_NODE, &no_eigrp_if_bandwidth_cmd);
+
+       /*Hello-interval and hold-time interval configuration commands*/
+       install_element(INTERFACE_NODE, &eigrp_if_ip_holdinterval_cmd);
+       install_element(INTERFACE_NODE, &no_eigrp_if_ip_holdinterval_cmd);
+       install_element(INTERFACE_NODE, &eigrp_if_ip_hellointerval_cmd);
+       install_element(INTERFACE_NODE, &no_eigrp_if_ip_hellointerval_cmd);
+
+       /* "Authentication configuration commands */
+       install_element(INTERFACE_NODE, &eigrp_authentication_mode_cmd);
+       install_element(INTERFACE_NODE, &no_eigrp_authentication_mode_cmd);
+       install_element(INTERFACE_NODE, &eigrp_authentication_keychain_cmd);
+       install_element(INTERFACE_NODE, &no_eigrp_authentication_keychain_cmd);
+
+       /*EIGRP Summarization commands*/
+       install_element(INTERFACE_NODE, &eigrp_ip_summary_address_cmd);
+       install_element(INTERFACE_NODE, &no_eigrp_ip_summary_address_cmd);
 }
 
-static void
-eigrp_vty_zebra_init (void)
+static void eigrp_vty_zebra_init(void)
 {
-  install_element (EIGRP_NODE, &eigrp_redistribute_source_metric_cmd);
-  install_element (EIGRP_NODE, &no_eigrp_redistribute_source_metric_cmd);
+       install_element(EIGRP_NODE, &eigrp_redistribute_source_metric_cmd);
+       install_element(EIGRP_NODE, &no_eigrp_redistribute_source_metric_cmd);
 }
 
 /* Install EIGRP related vty commands. */
-void
-eigrp_vty_init (void)
+void eigrp_vty_init(void)
 {
-  install_node (&eigrp_node, eigrp_config_write);
-
-  install_default (EIGRP_NODE);
-
-  install_element (CONFIG_NODE, &router_eigrp_cmd);
-  install_element (CONFIG_NODE, &no_router_eigrp_cmd);
-  install_element (EIGRP_NODE, &eigrp_network_cmd);
-  install_element (EIGRP_NODE, &no_eigrp_network_cmd);
-  install_element (EIGRP_NODE, &eigrp_variance_cmd);
-  install_element (EIGRP_NODE, &no_eigrp_variance_cmd);
-  install_element (EIGRP_NODE, &eigrp_router_id_cmd);
-  install_element (EIGRP_NODE, &no_eigrp_router_id_cmd);
-  install_element (EIGRP_NODE, &eigrp_passive_interface_cmd);
-  install_element (EIGRP_NODE, &no_eigrp_passive_interface_cmd);
-  install_element (EIGRP_NODE, &eigrp_timers_active_cmd);
-  install_element (EIGRP_NODE, &no_eigrp_timers_active_cmd);
-  install_element (EIGRP_NODE, &eigrp_metric_weights_cmd);
-  install_element (EIGRP_NODE, &no_eigrp_metric_weights_cmd);
-  install_element (EIGRP_NODE, &eigrp_maximum_paths_cmd);
-  install_element (EIGRP_NODE, &no_eigrp_maximum_paths_cmd);
-  install_element (EIGRP_NODE, &eigrp_neighbor_cmd);
-  install_element (EIGRP_NODE, &no_eigrp_neighbor_cmd);
-
-  /* commands for manual hard restart */
-  install_element (ENABLE_NODE, &clear_ip_eigrp_neighbors_cmd);
-  install_element (ENABLE_NODE, &clear_ip_eigrp_neighbors_int_cmd);
-  install_element (ENABLE_NODE, &clear_ip_eigrp_neighbors_IP_cmd);
-  /* commands for manual graceful restart */
-  install_element (ENABLE_NODE, &clear_ip_eigrp_neighbors_soft_cmd);
-  install_element (ENABLE_NODE, &clear_ip_eigrp_neighbors_int_soft_cmd);
-  install_element (ENABLE_NODE, &clear_ip_eigrp_neighbors_IP_soft_cmd);
-
-  eigrp_vty_zebra_init ();
+       install_node(&eigrp_node, eigrp_config_write);
+
+       install_default(EIGRP_NODE);
+
+       install_element(CONFIG_NODE, &router_eigrp_cmd);
+       install_element(CONFIG_NODE, &no_router_eigrp_cmd);
+       install_element(EIGRP_NODE, &eigrp_network_cmd);
+       install_element(EIGRP_NODE, &no_eigrp_network_cmd);
+       install_element(EIGRP_NODE, &eigrp_variance_cmd);
+       install_element(EIGRP_NODE, &no_eigrp_variance_cmd);
+       install_element(EIGRP_NODE, &eigrp_router_id_cmd);
+       install_element(EIGRP_NODE, &no_eigrp_router_id_cmd);
+       install_element(EIGRP_NODE, &eigrp_passive_interface_cmd);
+       install_element(EIGRP_NODE, &no_eigrp_passive_interface_cmd);
+       install_element(EIGRP_NODE, &eigrp_timers_active_cmd);
+       install_element(EIGRP_NODE, &no_eigrp_timers_active_cmd);
+       install_element(EIGRP_NODE, &eigrp_metric_weights_cmd);
+       install_element(EIGRP_NODE, &no_eigrp_metric_weights_cmd);
+       install_element(EIGRP_NODE, &eigrp_maximum_paths_cmd);
+       install_element(EIGRP_NODE, &no_eigrp_maximum_paths_cmd);
+       install_element(EIGRP_NODE, &eigrp_neighbor_cmd);
+       install_element(EIGRP_NODE, &no_eigrp_neighbor_cmd);
+
+       /* commands for manual hard restart */
+       install_element(ENABLE_NODE, &clear_ip_eigrp_neighbors_cmd);
+       install_element(ENABLE_NODE, &clear_ip_eigrp_neighbors_int_cmd);
+       install_element(ENABLE_NODE, &clear_ip_eigrp_neighbors_IP_cmd);
+       /* commands for manual graceful restart */
+       install_element(ENABLE_NODE, &clear_ip_eigrp_neighbors_soft_cmd);
+       install_element(ENABLE_NODE, &clear_ip_eigrp_neighbors_int_soft_cmd);
+       install_element(ENABLE_NODE, &clear_ip_eigrp_neighbors_IP_soft_cmd);
+
+       eigrp_vty_zebra_init();
 }