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)) | 
