diff options
Diffstat (limited to 'bgpd')
-rw-r--r-- | bgpd/ChangeLog | 5 | ||||
-rw-r--r-- | bgpd/bgp_aspath.c | 5 | ||||
-rw-r--r-- | bgpd/bgp_aspath.h | 2 | ||||
-rw-r--r-- | bgpd/bgp_route.c | 42 |
4 files changed, 24 insertions, 30 deletions
diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog index 80827393..7f4f3f1a 100644 --- a/bgpd/ChangeLog +++ b/bgpd/ChangeLog @@ -2,10 +2,15 @@ * bgp_attr.c: (bgp_packet_attribute) Remove dead code, Coverity CID #1 + * bgp_aspath.{c,h}: (aspath_print_vty) take a format string, + so as to reduce burden on callers, all in bgp_route.c * bgp_route.c: (bgp_static_update_main) Remove useless NULL check, code already assumes bgp_static can not be NULL, fixes CID #7. (bgp_static_update_rsclient) ditto, CID #6 + (route_vty_out{,tmp}) Update to match aspath_print_vty, + simplifying checks needed to get spacing right. CID #4,#5. + ({damp,flap}_route_vty_out) Ditto, CID #9, #10 2006-05-08 Paul Jakma <paul.jakma@sun.com> diff --git a/bgpd/bgp_aspath.c b/bgpd/bgp_aspath.c index 9fce6e31..d404309c 100644 --- a/bgpd/bgp_aspath.c +++ b/bgpd/bgp_aspath.c @@ -1501,9 +1501,10 @@ aspath_print (struct aspath *as) /* Printing functions */ void -aspath_print_vty (struct vty *vty, struct aspath *as) +aspath_print_vty (struct vty *vty, const char *format, struct aspath *as) { - vty_out (vty, "%s", as->str); + assert (format); + vty_out (vty, format, as->str); } static void diff --git a/bgpd/bgp_aspath.h b/bgpd/bgp_aspath.h index 7fa7f20b..bf23e5d6 100644 --- a/bgpd/bgp_aspath.h +++ b/bgpd/bgp_aspath.h @@ -77,7 +77,7 @@ extern void aspath_free (struct aspath *); extern struct aspath *aspath_intern (struct aspath *); extern void aspath_unintern (struct aspath *); extern const char *aspath_print (struct aspath *); -extern void aspath_print_vty (struct vty *, struct aspath *); +extern void aspath_print_vty (struct vty *, const char *, struct aspath *); extern void aspath_print_all_vty (struct vty *); extern unsigned int aspath_key_make (struct aspath *); extern int aspath_loop_check (struct aspath *, as_t); diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index c86ca5f0..5623cadc 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -5153,16 +5153,13 @@ route_vty_out (struct vty *vty, struct prefix *p, vty_out (vty, "%7u ",attr->weight); - /* Print aspath */ - if (attr->aspath) - aspath_print_vty (vty, attr->aspath); + /* Print aspath */ + if (attr->aspath) + aspath_print_vty (vty, "%s ", attr->aspath); - /* Print origin */ - if (strlen (attr->aspath->str) == 0) + /* Print origin */ vty_out (vty, "%s", bgp_origin_str[attr->origin]); - else - vty_out (vty, " %s", bgp_origin_str[attr->origin]); - } + } vty_out (vty, "%s", VTY_NEWLINE); } @@ -5217,16 +5214,13 @@ route_vty_out_tmp (struct vty *vty, struct prefix *p, vty_out (vty, "%7d ",attr->weight); - /* Print aspath */ - if (attr->aspath) - aspath_print_vty (vty, attr->aspath); + /* Print aspath */ + if (attr->aspath) + aspath_print_vty (vty, "%s ", attr->aspath); - /* Print origin */ - if (strlen (attr->aspath->str) == 0) + /* Print origin */ vty_out (vty, "%s", bgp_origin_str[attr->origin]); - else - vty_out (vty, " %s", bgp_origin_str[attr->origin]); - } + } vty_out (vty, "%s", VTY_NEWLINE); } @@ -5314,13 +5308,10 @@ damp_route_vty_out (struct vty *vty, struct prefix *p, { /* Print aspath */ if (attr->aspath) - aspath_print_vty (vty, attr->aspath); + aspath_print_vty (vty, "%s ", attr->aspath); /* Print origin */ - if (strlen (attr->aspath->str) == 0) - vty_out (vty, "%s", bgp_origin_str[attr->origin]); - else - vty_out (vty, " %s", bgp_origin_str[attr->origin]); + vty_out (vty, "%s", bgp_origin_str[attr->origin]); } vty_out (vty, "%s", VTY_NEWLINE); } @@ -5377,13 +5368,10 @@ flap_route_vty_out (struct vty *vty, struct prefix *p, { /* Print aspath */ if (attr->aspath) - aspath_print_vty (vty, attr->aspath); + aspath_print_vty (vty, "%s ", attr->aspath); /* Print origin */ - if (strlen (attr->aspath->str) == 0) - vty_out (vty, "%s", bgp_origin_str[attr->origin]); - else - vty_out (vty, " %s", bgp_origin_str[attr->origin]); + vty_out (vty, "%s", bgp_origin_str[attr->origin]); } vty_out (vty, "%s", VTY_NEWLINE); } @@ -5408,7 +5396,7 @@ route_vty_out_detail (struct vty *vty, struct bgp *bgp, struct prefix *p, if (aspath_count_hops (attr->aspath) == 0) vty_out (vty, "Local"); else - aspath_print_vty (vty, attr->aspath); + aspath_print_vty (vty, "%s", attr->aspath); } if (CHECK_FLAG (binfo->flags, BGP_INFO_REMOVED)) |