diff options
Diffstat (limited to 'bgpd/bgp_route.h')
-rw-r--r-- | bgpd/bgp_route.h | 76 |
1 files changed, 43 insertions, 33 deletions
diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h index 03567ecc..8d63e460 100644 --- a/bgpd/bgp_route.h +++ b/bgpd/bgp_route.h @@ -132,59 +132,69 @@ struct bgp_static #define UNSUPPRESS_MAP(F) ((F)->usmap.map) /* Prototypes. */ -void bgp_route_init (); -void bgp_cleanup_routes (void); -void bgp_announce_route (struct peer *, afi_t, safi_t); -void bgp_announce_route_all (struct peer *); -void bgp_default_originate (struct peer *, afi_t, safi_t, int); -void bgp_soft_reconfig_in (struct peer *, afi_t, safi_t); -void bgp_soft_reconfig_rsclient (struct peer *, afi_t, safi_t); -void bgp_check_local_routes_rsclient (struct peer *rsclient, afi_t afi, safi_t safi); -void bgp_clear_route (struct peer *, afi_t, safi_t); -void bgp_clear_route_all (struct peer *); -void bgp_clear_adj_in (struct peer *, afi_t, safi_t); -void bgp_clear_stale_route (struct peer *, afi_t, safi_t); +extern void bgp_route_init (void); +extern void bgp_cleanup_routes (void); +extern void bgp_announce_route (struct peer *, afi_t, safi_t); +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); +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); extern struct bgp_info *bgp_info_lock (struct bgp_info *); extern struct bgp_info *bgp_info_unlock (struct bgp_info *); extern void bgp_info_add (struct bgp_node *rn, struct bgp_info *ri); extern void bgp_info_delete (struct bgp_node *rn, struct bgp_info *ri); -int bgp_nlri_sanity_check (struct peer *, int, u_char *, bgp_size_t); -int bgp_nlri_parse (struct peer *, struct attr *, struct bgp_nlri *); +extern int bgp_nlri_sanity_check (struct peer *, int, u_char *, bgp_size_t); +extern int bgp_nlri_parse (struct peer *, struct attr *, struct bgp_nlri *); -int bgp_maximum_prefix_overflow (struct peer *, afi_t, safi_t, int); +extern int bgp_maximum_prefix_overflow (struct peer *, afi_t, safi_t, int); -void bgp_redistribute_add (struct prefix *, struct in_addr *, u_int32_t, u_char); -void bgp_redistribute_delete (struct prefix *, u_char); -void bgp_redistribute_withdraw (struct bgp *, afi_t, int); +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); -void bgp_static_delete (struct bgp *); -void bgp_static_update (struct bgp *, struct prefix *, struct bgp_static *, +extern void bgp_static_delete (struct bgp *); +extern void bgp_static_update (struct bgp *, struct prefix *, struct bgp_static *, afi_t, safi_t); -void bgp_static_withdraw (struct bgp *, struct prefix *, afi_t, safi_t); +extern void bgp_static_withdraw (struct bgp *, struct prefix *, afi_t, safi_t); -int bgp_static_set_vpnv4 (struct vty *vty, const char *, +extern int bgp_static_set_vpnv4 (struct vty *vty, const char *, const char *, const char *); -int bgp_static_unset_vpnv4 (struct vty *, const char *, +extern int bgp_static_unset_vpnv4 (struct vty *, const char *, const char *, const char *); -int bgp_config_write_network (struct vty *, struct bgp *, afi_t, safi_t, int *); -int bgp_config_write_distance (struct vty *, struct bgp *); +/* this is primarily for MPLS-VPN */ +extern int bgp_update (struct peer *, struct prefix *, struct attr *, + afi_t, safi_t, int, int, struct prefix_rd *, + u_char *, int); +extern int bgp_withdraw (struct peer *, struct prefix *, struct attr *, + afi_t, safi_t, int, int, struct prefix_rd *, u_char *); -void bgp_aggregate_increment (struct bgp *, struct prefix *, struct bgp_info *, +/* for bgp_nexthop and bgp_damp */ +extern void bgp_process (struct bgp *, struct bgp_node *, afi_t, safi_t); + +extern int bgp_config_write_network (struct vty *, struct bgp *, afi_t, safi_t, int *); +extern int bgp_config_write_distance (struct vty *, struct bgp *); + +extern void bgp_aggregate_increment (struct bgp *, struct prefix *, struct bgp_info *, afi_t, safi_t); -void bgp_aggregate_decrement (struct bgp *, struct prefix *, struct bgp_info *, +extern void bgp_aggregate_decrement (struct bgp *, struct prefix *, struct bgp_info *, afi_t, safi_t); -u_char bgp_distance_apply (struct prefix *, struct bgp_info *, struct bgp *); +extern u_char bgp_distance_apply (struct prefix *, struct bgp_info *, struct bgp *); -afi_t bgp_node_afi (struct vty *); -safi_t bgp_node_safi (struct vty *); +extern afi_t bgp_node_afi (struct vty *); +extern safi_t bgp_node_safi (struct vty *); -void route_vty_out (struct vty *, struct prefix *, struct bgp_info *, int, safi_t); -void route_vty_out_tag (struct vty *, struct prefix *, struct bgp_info *, int, safi_t); -void route_vty_out_tmp (struct vty *, struct prefix *, struct attr *, safi_t); +extern void route_vty_out (struct vty *, struct prefix *, struct bgp_info *, int, safi_t); +extern void route_vty_out_tag (struct vty *, struct prefix *, struct bgp_info *, int, safi_t); +extern void route_vty_out_tmp (struct vty *, struct prefix *, struct attr *, safi_t); #endif /* _QUAGGA_BGP_ROUTE_H */ |