[ospfd] Add passive-interface default support
2006-10-22 Yar Tikhiy <yar@comp.chem.msu.su>
* (general) Add support for passive-interface default (with
minor edits by Paul Jakma).
* ospf_interface.h: Add OSPF_IF_PASSIVE_STATUS macro, looking
at configured value, or the global 'default' value, as
required.
* ospf_interface.c: (ospf_if_new_hook) Leave passive
unconfigured per default, allowing global 'default' to
take effect for unconfigured interfaces.
* ospf_packet.c: (various) use OSPF_IF_PASSIVE_STATUS
* ospf_vty.c: (ospf_passive_interface_default) new function,
unset passive from all interfaces if default is enabled, as
the per-iface settings become redundant.
(ospf_passive_interface_update) new func, update passive
setting taking global default into account.
({no,}ospf_passive_interface_addr_cmd) Add support for
'default' variant of command.
(show_ip_ospf_interface_sub) Update to take global
default into account when printing passive status.
(ospf_config_write) ditto.
* ospfd.c: (ospf_new) set global passive-interface default.
* ospfd.h: (struct ospf) Add field for global
passive-interface.
diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c
index 8c151d9..8ef80cb 100644
--- a/ospfd/ospfd.c
+++ b/ospfd/ospfd.c
@@ -167,6 +167,8 @@
new->default_originate = DEFAULT_ORIGINATE_NONE;
+ new->passive_interface_default = OSPF_IF_ACTIVE;
+
new->new_external_route = route_table_init ();
new->old_external_route = route_table_init ();
new->external_lsas = route_table_init ();