From f52d13cb2e8e7197934d5f241f88647f9b9d78b8 Mon Sep 17 00:00:00 2001 From: ajs Date: Sat, 1 Oct 2005 17:38:06 +0000 Subject: 2005-10-01 Andrew J. Schorr * zebra.h: Declare new functions zebra_route_string() and zebra_route_char(). * log.c: (zroute_lookup,zebra_route_string,zebra_route_char) New functions to map zebra route numbers to strings. * zebra_vty.c: (route_type_str) Remove obsolete function: use new library function zebra_route_string() instead. Note that there are a few differences: for IPv6 routes, we now get "ripng" and "ospf6" instead of the old behavior ("rip" and "ospf"). (route_type_char) Remove obsolete function: ues new library function zebra_route_char() instead. Note that there is one difference: the old function returned 'S' for a ZEBRA_ROUTE_SYSTEM route, whereas the new one returns 'X'. (vty_show_ip_route_detail,vty_show_ipv6_route_detail) Replace route_type_str() with zebra_route_string(). (vty_show_ip_route,vty_show_ipv6_route) Replace route_type_char() with zebra_route_char(). * bgp_vty.c: (bgp_config_write_redistribute) Use new library function zebra_route_string instead of a local hard-coded table. * ospf6_asbr.c: Remove local hard-coded tables zroute_name and zroute_abname. Change the ZROUTE_NAME macro to use new library function zebra_route_string(). Remove the ZROUTE_ABNAME macro. (ospf6_asbr_external_route_show): Replace ZROUTE_ABNAME() with a call to zebra_route_char(), and be sure to fix the format string, since we now have a char instead of a char *. * ospf6_zebra.c: Remove local hard-coded tables zebra_route_name and zebra_route_abname. Note that the zebra_route_name[] table contained mixed-case strings, whereas the zebra_route_string() function returns lower-case strings. (ospf6_zebra_read_ipv6): Change debug message to use new library function zebra_route_string() instead of zebra_route_name[]. (show_zebra): Use new library function zebra_route_string() instead of zebra_route_name[]. * ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto. (ospf_redist_string) New function implemented using new library function zebra_route_string(). Note that there are a few differences in the output that will result: the new function returns strings that are lower-case, whereas the old table was mixed case. Also, the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the new function returns "ospf6". * ospfd.h: Remove extern struct message ospf_redistributed_proto[], and add extern const char *ospf_redist_string(u_int route_type) instead. * ospf_asbr.c: (ospf_external_info_add) In two messages, use ospf_redist_string instead of LOOKUP(ospf_redistributed_proto). * ospf_vty.c: Remove local hard-coded table distribute_str. (config_write_ospf_redistribute,config_write_ospf_distribute): Use new library function zebra_route_string() instead of distribute_str[]. * ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset, ospf_redistribute_default_set,ospf_redistribute_check) In debug messages, use ospf_redist_string() instead of LOOKUP(ospf_redistributed_proto). * rip_zebra.c: (config_write_rip_redistribute): Remove local hard-coded table str[]. Replace str[] with calls to new library function zebra_route_string(). * ripd.c: Remove local hard-coded table route_info[]. (show_ip_rip) Replace uses of str[] with calls to new library functions zebra_route_char and zebra_route_string. * ripng_zebra.c: (ripng_redistribute_write) Remove local hard-coded table str[]. Replace str[i] with new library function zebra_route_string(i). * ripngd.c: Remove local hard-coded table route_info[]. (show_ipv6_ripng) Use new library function zebra_route_char() instead of table route_info[]. --- zebra/zebra_vty.c | 70 ++++--------------------------------------------------- 1 file changed, 4 insertions(+), 66 deletions(-) (limited to 'zebra/zebra_vty.c') diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c index ad91d959..68e6f920 100644 --- a/zebra/zebra_vty.c +++ b/zebra/zebra_vty.c @@ -29,68 +29,6 @@ #include "zebra/zserv.h" -/* Return route type string for VTY output. */ -static const char * -route_type_str (u_char type) -{ - switch (type) - { - case ZEBRA_ROUTE_SYSTEM: - return "system"; - case ZEBRA_ROUTE_KERNEL: - return "kernel"; - case ZEBRA_ROUTE_CONNECT: - return "connected"; - case ZEBRA_ROUTE_STATIC: - return "static"; - case ZEBRA_ROUTE_RIP: - return "rip"; - case ZEBRA_ROUTE_RIPNG: - return "rip"; - case ZEBRA_ROUTE_OSPF: - return "ospf"; - case ZEBRA_ROUTE_OSPF6: - return "ospf"; - case ZEBRA_ROUTE_ISIS: - return "isis"; - case ZEBRA_ROUTE_BGP: - return "bgp"; - default: - return "unknown"; - } -}; - -/* Return route type string for VTY output. */ -static const char -route_type_char (u_char type) -{ - switch (type) - { - case ZEBRA_ROUTE_SYSTEM: - return 'S'; - case ZEBRA_ROUTE_KERNEL: - return 'K'; - case ZEBRA_ROUTE_CONNECT: - return 'C'; - case ZEBRA_ROUTE_STATIC: - return 'S'; - case ZEBRA_ROUTE_RIP: - return 'R'; - case ZEBRA_ROUTE_RIPNG: - return 'R'; - case ZEBRA_ROUTE_OSPF: - return 'O'; - case ZEBRA_ROUTE_OSPF6: - return 'O'; - case ZEBRA_ROUTE_ISIS: - return 'I'; - case ZEBRA_ROUTE_BGP: - return 'B'; - default: - return '?'; - } -}; - /* General fucntion for static route. */ static int zebra_static_ipv4 (struct vty *vty, int add_cmd, const char *dest_str, @@ -548,7 +486,7 @@ vty_show_ip_route_detail (struct vty *vty, struct route_node *rn) vty_out (vty, "Routing entry for %s/%d%s", inet_ntoa (rn->p.u.prefix4), rn->p.prefixlen, VTY_NEWLINE); - vty_out (vty, " Known via \"%s\"", route_type_str (rib->type)); + vty_out (vty, " Known via \"%s\"", zebra_route_string (rib->type)); vty_out (vty, ", distance %d, metric %d", rib->distance, rib->metric); if (CHECK_FLAG (rib->flags, ZEBRA_FLAG_SELECTED)) vty_out (vty, ", best"); @@ -657,7 +595,7 @@ vty_show_ip_route (struct vty *vty, struct route_node *rn, struct rib *rib) { /* Prefix information. */ len = vty_out (vty, "%c%c%c %s/%d", - route_type_char (rib->type), + zebra_route_char (rib->type), CHECK_FLAG (rib->flags, ZEBRA_FLAG_SELECTED) ? '>' : ' ', CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_FIB) @@ -1435,7 +1373,7 @@ vty_show_ipv6_route_detail (struct vty *vty, struct route_node *rn) inet_ntop (AF_INET6, &rn->p.u.prefix6, buf, BUFSIZ), rn->p.prefixlen, VTY_NEWLINE); - vty_out (vty, " Known via \"%s\"", route_type_str (rib->type)); + vty_out (vty, " Known via \"%s\"", zebra_route_string (rib->type)); vty_out (vty, ", distance %d, metric %d", rib->distance, rib->metric); if (CHECK_FLAG (rib->flags, ZEBRA_FLAG_SELECTED)) vty_out (vty, ", best"); @@ -1552,7 +1490,7 @@ vty_show_ipv6_route (struct vty *vty, struct route_node *rn, { /* Prefix information. */ len = vty_out (vty, "%c%c%c %s/%d", - route_type_char (rib->type), + zebra_route_char (rib->type), CHECK_FLAG (rib->flags, ZEBRA_FLAG_SELECTED) ? '>' : ' ', CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_FIB) -- cgit v1.2.1