2005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* 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[].
diff --git a/ospf6d/ChangeLog b/ospf6d/ChangeLog
index e925d80..c6bc39f 100644
--- a/ospf6d/ChangeLog
+++ b/ospf6d/ChangeLog
@@ -1,3 +1,20 @@
+2005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * 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 <paul.jakma@sun.com>
* ospf6_asbr.c: (ospf6_asbr_redistribute_add) Fix sense of testing
diff --git a/ospf6d/ospf6_asbr.c b/ospf6d/ospf6_asbr.c
index 379b629..286b5c1 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 @@
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 bb32459..c974005 100644
--- a/ospf6d/ospf6_zebra.c
+++ b/ospf6d/ospf6_zebra.c
@@ -187,15 +187,6 @@
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 @@
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 @@
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;