X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=isisd%2Fisis_redist.h;h=10dccbc5187735547615fdd706815705e2a7d317;hb=5fbbd15d1eac3ad6a230c363cb8466f17a675511;hp=95f06f71ec9a343f88e71e4fa4f88867d77797f9;hpb=09890489cc002de1901df3b12328b562c9fcd573;p=mirror_frr.git diff --git a/isisd/isis_redist.h b/isisd/isis_redist.h index 95f06f71e..10dccbc51 100644 --- a/isisd/isis_redist.h +++ b/isisd/isis_redist.h @@ -31,6 +31,7 @@ struct isis_ext_info { int origin; uint32_t metric; uint8_t distance; + route_tag_t tag; }; struct isis_redist { @@ -40,19 +41,29 @@ struct isis_redist { struct route_map *map; }; +struct isis; struct isis_area; struct prefix; struct prefix_ipv6; struct vty; +afi_t afi_for_redist_protocol(int protocol); + struct route_table *get_ext_reach(struct isis_area *area, int family, int level); -void isis_redist_add(int type, struct prefix *p, struct prefix_ipv6 *src_p, - uint8_t distance, uint32_t metric); -void isis_redist_delete(int type, struct prefix *p, struct prefix_ipv6 *src_p); +void isis_redist_add(struct isis *isis, int type, struct prefix *p, + struct prefix_ipv6 *src_p, uint8_t distance, + uint32_t metric, route_tag_t tag); +void isis_redist_delete(struct isis *isis, int type, struct prefix *p, + struct prefix_ipv6 *src_p); int isis_redist_config_write(struct vty *vty, struct isis_area *area, int family); void isis_redist_init(void); void isis_redist_area_finish(struct isis_area *area); +void isis_redist_set(struct isis_area *area, int level, int family, int type, + uint32_t metric, const char *routemap, int originate_type); +void isis_redist_unset(struct isis_area *area, int level, int family, int type); + +void isis_redist_free(struct isis *isis); #endif