summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_route.h
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_route.h')
-rw-r--r--bgpd/bgp_route.h36
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 *,