diff options
author | Chirag Shah <chirag@cumulusnetworks.com> | 2017-11-21 02:21:03 +0100 |
---|---|---|
committer | Chirag Shah <chirag@cumulusnetworks.com> | 2017-11-21 20:23:08 +0100 |
commit | de1ac5fd63a52de2d6a2133edd770ec9979a7102 (patch) | |
tree | bdb0797db22aea15225d39052677ce692ce76d75 /ospfd/ospf_asbr.h | |
parent | Merge pull request #1430 from chiragshah6/ospf_vrf_dev (diff) | |
download | frr-de1ac5fd63a52de2d6a2133edd770ec9979a7102.tar.xz frr-de1ac5fd63a52de2d6a2133edd770ec9979a7102.zip |
ospfd: Make external routes in ospf VRF aware
Currently, ospf external routers are part of struct
ospf_master which is not vrf aware ospf instance.
All ospf external routes are injected/leaked into all
vrfs.
Moved ospf external routes db to struct ospf to make
vrf aware, such one external routes learnt in one vrf
is not leaked into another vrf.
Ticket:CM-18855
Testing Done:
Inject external route in non-default vrf x, validated
ospf database across the vrf x, validated ospf routes
for vrf x.
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Diffstat (limited to 'ospfd/ospf_asbr.h')
-rw-r--r-- | ospfd/ospf_asbr.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ospfd/ospf_asbr.h b/ospfd/ospf_asbr.h index 3d7f14e7f..38ed95322 100644 --- a/ospfd/ospf_asbr.h +++ b/ospfd/ospf_asbr.h @@ -58,12 +58,15 @@ extern struct external_info *ospf_external_info_new(u_char, u_short); extern void ospf_reset_route_map_set_values(struct route_map_set_values *); extern int ospf_route_map_set_compare(struct route_map_set_values *, struct route_map_set_values *); -extern struct external_info *ospf_external_info_add(u_char, u_short, +extern struct external_info *ospf_external_info_add(struct ospf *, + u_char, u_short, struct prefix_ipv4, ifindex_t, struct in_addr, route_tag_t); -extern void ospf_external_info_delete(u_char, u_short, struct prefix_ipv4); -extern struct external_info *ospf_external_info_lookup(u_char, u_short, +extern void ospf_external_info_delete(struct ospf*, u_char, u_short, + struct prefix_ipv4); +extern struct external_info *ospf_external_info_lookup(struct ospf*, u_char, + u_short, struct prefix_ipv4 *); extern struct ospf_route *ospf_external_route_lookup(struct ospf *, struct prefix_ipv4 *); |