ripd: split-horizon default differed between rip_interface_new and _reset
* rip_interface.c: Default for split_horizon_default differed between
rip_interface_new and rip_interface_reset, causing at least some issues
after interface events. See patchwork #604. Fix, and consolidate code.
(rip_interface_{reset,clean}) rename these to 'interface', as that's more
appropriate. Spin the ri specific bodies of these functions out to
rip_interface_{reset,clean} helpers. Factor out the overlaps, so
rip_interface_reset uses rip_interface_clean.
(rip_interface_new) just use rip_interface_reset.
* ripd.h: Update for (rip_interface_{reset,clean})
Reported by xufeng zhang, with a suggested fix on which this commit expands.
See patchwork #604. This commit addresses only the split-horizon
discrepency, issue #2. The other issue they reported, #1, is not addressed,
though suggested fix seems inappropriate.
Cc: xufeng.zhang@windriver.com
diff --git a/ripd/ripd.c b/ripd/ripd.c
index 0beb0e6..1d3eb4c 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -4025,7 +4025,7 @@
rip_clean_network ();
rip_passive_nondefault_clean ();
rip_offset_clean ();
- rip_interface_clean ();
+ rip_interfaces_clean ();
rip_distance_reset ();
rip_redistribute_clean ();
}
@@ -4049,7 +4049,7 @@
distribute_list_reset ();
- rip_interface_reset ();
+ rip_interfaces_reset ();
rip_distance_reset ();
rip_zclient_reset ();