diff options
Diffstat (limited to 'bgpd/bgp_route.h')
-rw-r--r-- | bgpd/bgp_route.h | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h index c206d673..97ee39ab 100644 --- a/bgpd/bgp_route.h +++ b/bgpd/bgp_route.h @@ -44,26 +44,29 @@ struct bgp_info_extra struct bgp_info { - /* For linked list. */ - struct bgp_info *next; - struct bgp_info *prev; + /* For linked list. */ + struct bgp_node* rn ; + struct bgp_info *info_next; + struct bgp_info *info_prev; - /* Peer structure. */ + /* Peer structure. */ struct peer *peer; + struct bgp_info* routes_next ; + struct bgp_info* routes_prev ; - /* Attribute structure. */ + /* Attribute structure. */ struct attr *attr; - /* Extra information */ + /* Extra information */ struct bgp_info_extra *extra; - /* Uptime. */ + /* Uptime. */ time_t uptime; - /* reference count */ + /* reference count */ int lock; - /* BGP information status. */ + /* BGP information status. */ u_int16_t flags; #define BGP_INFO_IGP_CHANGED (1 << 0) #define BGP_INFO_DAMPED (1 << 1) @@ -177,9 +180,11 @@ extern void bgp_announce_route_all (struct peer *); extern void bgp_default_originate (struct peer *, afi_t, safi_t, int); extern void bgp_soft_reconfig_in (struct peer *, afi_t, safi_t); extern void bgp_soft_reconfig_rsclient (struct peer *, afi_t, safi_t); -extern void bgp_check_local_routes_rsclient (struct peer *rsclient, afi_t afi, safi_t safi); -extern void bgp_clear_route (struct peer *, afi_t, safi_t, - enum bgp_clear_route_type); +extern void bgp_check_local_routes_rsclient (struct peer *rsclient, + afi_t afi, safi_t safi); +extern void bgp_clear_route_normal(struct peer *peer, afi_t afi, safi_t safi) ; +extern void bgp_clear_route_rsclient(struct peer* rsclient, + afi_t afi, safi_t safi) ; extern void bgp_clear_route_all (struct peer *); extern void bgp_clear_adj_in (struct peer *, afi_t, safi_t); extern void bgp_clear_stale_route (struct peer *, afi_t, safi_t); @@ -197,13 +202,14 @@ extern int bgp_nlri_parse (struct peer *, struct attr *, struct bgp_nlri *); extern int bgp_maximum_prefix_overflow (struct peer *, afi_t, safi_t, int); -extern void bgp_redistribute_add (struct prefix *, struct in_addr *, u_int32_t, u_char); +extern void bgp_redistribute_add (struct prefix *, struct in_addr *, u_int32_t, + u_char); extern void bgp_redistribute_delete (struct prefix *, u_char); extern void bgp_redistribute_withdraw (struct bgp *, afi_t, int); extern void bgp_static_delete (struct bgp *); -extern void bgp_static_update (struct bgp *, struct prefix *, struct bgp_static *, - afi_t, safi_t); +extern void bgp_static_update (struct bgp *, struct prefix *, + struct bgp_static *, afi_t, safi_t); extern void bgp_static_withdraw (struct bgp *, struct prefix *, afi_t, safi_t); extern int bgp_static_set_vpnv4 (struct vty *vty, const char *, |