summaryrefslogtreecommitdiffstats
path: root/ospfd/ospf_main.c
diff options
context:
space:
mode:
authorPaul Jakma <paul@quagga.net>2009-08-27 16:51:42 +0100
committerPaul Jakma <paul@quagga.net>2015-10-27 10:59:28 +0000
commit8a667cf7c58a065bcd6371f4ad6f25bfb084181c (patch)
tree59ee7f3ad6e24f64e8c7c57ddaa3a6b8a4b97f5f /ospfd/ospf_main.c
parent738bce789a393efe2d3f35fd541cf149dd7f9311 (diff)
downloadquagga-8a667cf7c58a065bcd6371f4ad6f25bfb084181c.tar.bz2
quagga-8a667cf7c58a065bcd6371f4ad6f25bfb084181c.tar.xz
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. * ospf_vty.c: (OSPF_VTY_GET_IF_PARAMS) new macro with common code for handling interface parameter commands - only used for 'ip ospf area' in this commit. (OSPF_VTY_PARAM_UNSET) similar ({no,}ip_ospf_area) Use said macros. * doc/ospfd.texi: add 'ip ospf area' command. Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'ospfd/ospf_main.c')
0 files changed, 0 insertions, 0 deletions