diff options
author | Jafar Al-Gharaibeh <jafar@atcorp.com> | 2009-08-27 17:51:42 +0200 |
---|---|---|
committer | Jafar Al-Gharaibeh <jafar@atcorp.com> | 2017-06-29 00:06:53 +0200 |
commit | 52c62ab89461fac53ef2bdfcc6946c735bfd9951 (patch) | |
tree | 53051adfaa3f339ae9d621afa5a02a8247195242 /ospfd/ospfd.h | |
parent | Merge pull request #745 from qlyoung/fix-lookup (diff) | |
download | frr-52c62ab89461fac53ef2bdfcc6946c735bfd9951.tar.xz frr-52c62ab89461fac53ef2bdfcc6946c735bfd9951.zip |
ospfd: Bring in some OSPF useful changes that were lost during Quagga fork
Several changes were made from the original patch to resolve conflicts
and also to fix various issues that were discovered during testing. Below
is the original commit message minus a few parts that correspond to code
that was dropped during bug fixing.
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
ospfd: Extend 'ip ospf area' to take address argument + rationalise ospf enable
* ospfd.c: (general) Clean up the whole running of OSPF on interfaces.
(add_ospf_interface) taking (struct interface *) arg is pointless here.
(ospf_is_ready) new helper.
(ospf_network_run_subnet) Put all the code for choosing whether to enable
OSPF on a subnet, and if so which area configuration to use, here. If a
subnet should not be enabled, ensure an existing oi is freed.
(ospf_network_run_interface) Just call run_subnet for all subnets on an
interface.
(ospf_network_run) Just call run_interface for all interfaces.
(ospf_if_update) Just call run_interface for the given interface.
(ospf_network_unset) Just call run_subnet for existing ois.
(ospf_update_interface_area) helper: update area on an oi, or create it.
(ospf_interface_set) renamed to ospf_interface_area_set for clarity.
Ensures OSPF is created, then into if_update.
(ospf_interface_unset) renamed to ospf_interface_area_unset and collapses
down to simple loop to call run_subnet for all ois.
* ospf_interface.h: add a more general OSPF_IF_PARAM_IS_SET, which does the
right thing and takes default config into account.
* doc/ospfd.texi: add 'ip ospf area' command.
Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
This patch has been part of Quagga since October 2015
Orignial Author: Paul Jakma <paul@quagga.net>
Date: Thu Aug 27 16:51:42 2009 +0100
Diffstat (limited to 'ospfd/ospfd.h')
-rw-r--r-- | ospfd/ospfd.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ospfd/ospfd.h b/ospfd/ospfd.h index 822a8039b..b93f13728 100644 --- a/ospfd/ospfd.h +++ b/ospfd/ospfd.h @@ -558,10 +558,11 @@ extern struct ospf_area *ospf_area_lookup_by_area_id (struct ospf *, extern void ospf_area_add_if (struct ospf_area *, struct ospf_interface *); extern void ospf_area_del_if (struct ospf_area *, struct ospf_interface *); +extern void ospf_interface_area_set (struct interface *); +extern void ospf_interface_area_unset (struct interface *); + extern void ospf_route_map_init (void); extern void ospf_master_init (struct thread_master *master); -extern int ospf_interface_set (struct interface *ifp, struct in_addr area_id); -extern int ospf_interface_unset (struct interface *ifp); #endif /* _ZEBRA_OSPFD_H */ |