summaryrefslogtreecommitdiffstats
path: root/ospfd/ospf_asbr.h
diff options
context:
space:
mode:
authorrgirada <rgirada@vmware.com>2020-09-01 09:58:47 +0200
committerrgirada <rgirada@vmware.com>2020-11-02 07:02:37 +0100
commit423e71c45a0b15c43decb1b7d3a35fb3f438e32c (patch)
tree84c72387e55c8082f685b799dc183bb1d4cc902c /ospfd/ospf_asbr.h
parentospfd: ospf summarisation core handlers (diff)
downloadfrr-423e71c45a0b15c43decb1b7d3a35fb3f438e32c.tar.xz
frr-423e71c45a0b15c43decb1b7d3a35fb3f438e32c.zip
ospfd: External LSA summarisation config commands.
Description: The following config commands introduced for external route aggregation. [no] summary-address A.B.C.D/M [tag (1-4294967295)] [no] summary-address A.B.C.D/M no-advertise aggregation timer (5-1800) no aggregation timer Signed-off-by: Rajesh Girada <rgirada@vmware.com>
Diffstat (limited to 'ospfd/ospf_asbr.h')
-rw-r--r--ospfd/ospf_asbr.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/ospfd/ospf_asbr.h b/ospfd/ospf_asbr.h
index ea5860f9a..7759d4545 100644
--- a/ospfd/ospf_asbr.h
+++ b/ospfd/ospf_asbr.h
@@ -132,15 +132,13 @@ extern struct ospf_lsa *ospf_external_info_find_lsa(struct ospf *,
/* External Route Aggregator */
extern void ospf_asbr_external_aggregator_init(struct ospf *instance);
-
extern void ospf_external_aggregator_free(struct ospf_external_aggr_rt *aggr);
+extern bool is_valid_summary_addr(struct prefix_ipv4 *p);
extern struct ospf_external_aggr_rt *
ospf_external_aggr_match(struct ospf *ospf, struct prefix_ipv4 *p);
-
extern void ospf_unlink_ei_from_aggr(struct ospf *ospf,
struct ospf_external_aggr_rt *aggr,
struct external_info *ei);
-
extern struct ospf_lsa *
ospf_originate_summary_lsa(struct ospf *ospf,
struct ospf_external_aggr_rt *aggr,
@@ -153,4 +151,15 @@ extern struct ospf_external_aggr_rt *
ospf_extrenal_aggregator_lookup(struct ospf *ospf, struct prefix_ipv4 *p);
void ospf_unset_all_aggr_flag(struct ospf *ospf);
+
+extern int ospf_asbr_external_aggregator_set(struct ospf *ospf,
+ struct prefix_ipv4 *p,
+ route_tag_t tag);
+extern int ospf_asbr_external_aggregator_unset(struct ospf *ospf,
+ struct prefix_ipv4 *p,
+ route_tag_t tag);
+extern int ospf_asbr_external_rt_no_advertise(struct ospf *ospf,
+ struct prefix_ipv4 *p);
+extern int ospf_asbr_external_rt_advertise(struct ospf *ospf,
+ struct prefix_ipv4 *p);
#endif /* _ZEBRA_OSPF_ASBR_H */