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[]. --- ospf6d/ChangeLog | 17 +++++++++++++++++ ospf6d/ospf6_asbr.c | 18 +++--------------- ospf6d/ospf6_zebra.c | 13 ++----------- 3 files changed, 22 insertions(+), 26 deletions(-) (limited to 'ospf6d') diff --git a/ospf6d/ChangeLog b/ospf6d/ChangeLog index e925d807..c6bc39f6 100644 --- a/ospf6d/ChangeLog +++ b/ospf6d/ChangeLog @@ -1,3 +1,20 @@ +2005-10-01 Andrew J. Schorr + + * 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[]. + 2005-08-09 Paul Jakma * ospf6_asbr.c: (ospf6_asbr_redistribute_add) Fix sense of testing diff --git a/ospf6d/ospf6_asbr.c b/ospf6d/ospf6_asbr.c index 379b629a..286b5c1b 100644 --- a/ospf6d/ospf6_asbr.c +++ b/ospf6d/ospf6_asbr.c @@ -50,19 +50,7 @@ unsigned char conf_debug_ospf6_asbr = 0; -const char *zroute_name[] = -{ "system", "kernel", "connected", "static", - "rip", "ripng", "ospf", "ospf6", "isis", "bgp", "hsls", "unknown" }; - -const char *zroute_abname[] = -{ "X", "K", "C", "S", "R", "R", "O", "O", "I", "B", "H", "?" }; - -#define ZROUTE_NAME(x) \ - (0 < (x) && (x) < ZEBRA_ROUTE_MAX ? zroute_name[(x)] : \ - zroute_name[ZEBRA_ROUTE_MAX]) -#define ZROUTE_ABNAME(x) \ - (0 < (x) && (x) < ZEBRA_ROUTE_MAX ? zroute_abname[(x)] : \ - zroute_abname[ZEBRA_ROUTE_MAX]) +#define ZROUTE_NAME(x) zebra_route_string(x) /* AS External LSA origination */ void @@ -1198,8 +1186,8 @@ ospf6_asbr_external_route_show (struct vty *vty, struct ospf6_route *route) snprintf (forwarding, sizeof (forwarding), ":: (ifindex %d)", route->nexthop[0].ifindex); - vty_out (vty, "%s %-32s %-15s type-%d %5lu %s%s", - ZROUTE_ABNAME (info->type), + vty_out (vty, "%c %-32s %-15s type-%d %5lu %s%s", + zebra_route_char(info->type), prefix, id, route->path.metric_type, (u_long) (route->path.metric_type == 2 ? route->path.cost_e2 : route->path.cost), diff --git a/ospf6d/ospf6_zebra.c b/ospf6d/ospf6_zebra.c index bb324592..c974005f 100644 --- a/ospf6d/ospf6_zebra.c +++ b/ospf6d/ospf6_zebra.c @@ -187,15 +187,6 @@ ospf6_zebra_if_address_update_delete (int command, struct zclient *zclient, return 0; } - - -const char *zebra_route_name[ZEBRA_ROUTE_MAX] = - { "System", "Kernel", "Connect", "Static", "RIP", "RIPng", "OSPF", - "OSPF6", "ISIS", "BGP" }; - -const char *zebra_route_abname[ZEBRA_ROUTE_MAX] = - { "X", "K", "C", "S", "r", "R", "o", "O", "I", "B" }; - int ospf6_zebra_read_ipv6 (int command, struct zclient *zclient, zebra_size_t length) @@ -255,7 +246,7 @@ ospf6_zebra_read_ipv6 (int command, struct zclient *zclient, zlog_debug ("Zebra Receive route %s: %s %s nexthop %s ifindex %ld", (command == ZEBRA_IPV6_ROUTE_ADD ? "add" : "delete"), - zebra_route_name[api.type], prefixstr, nexthopstr, ifindex); + zebra_route_string(api.type), prefixstr, nexthopstr, ifindex); } if (command == ZEBRA_IPV6_ROUTE_ADD) @@ -295,7 +286,7 @@ DEFUN (show_zebra, for (i = 0; i < ZEBRA_ROUTE_MAX; i++) { if (zclient->redist[i]) - vty_out (vty, " %s", zebra_route_name[i]); + vty_out (vty, " %s", zebra_route_string(i)); } vty_out (vty, "%s", VNL); return CMD_SUCCESS; -- cgit v1.2.1