ripd: Fix two bugs after received SIGHUP signal

There are two problems for ripd implementation after received
SIGHUP signal:
1). ripd didn't clean up ifp->connected list before reload
    configuration file.
2). ripd reset ri->split_horizon flag to RIP_NO_SPLIT_HORIZON
    which lead to the unnecessary route to be advertised.

Upstream-Status: Submitted [http://patchwork.diac24.net/patch/604/]

Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
---
--- a/ripd/rip_interface.c
+++ b/ripd/rip_interface.c
@@ -500,6 +500,8 @@
   struct listnode *node;
   struct interface *ifp;
   struct rip_interface *ri;
+  struct connected *ifc;
+  struct listnode *conn_node, *next;
 
   for (ALL_LIST_ELEMENTS_RO (iflist, node, ifp))
     {
@@ -514,6 +516,13 @@
 	  thread_cancel (ri->t_wakeup);
 	  ri->t_wakeup = NULL;
 	}
+
+      for (conn_node = listhead (ifp->connected); conn_node; conn_node = next)
+        {
+          ifc = listgetdata (conn_node);
+          next = conn_node->next;
+          listnode_delete (ifp->connected, ifc);
+        }
     }
 }
 
@@ -548,8 +557,8 @@
 	  ri->key_chain = NULL;
 	}
 
-      ri->split_horizon = RIP_NO_SPLIT_HORIZON;
-      ri->split_horizon_default = RIP_NO_SPLIT_HORIZON;
+      ri->split_horizon = RIP_SPLIT_HORIZON;
+      ri->split_horizon_default = RIP_SPLIT_HORIZON;
 
       ri->list[RIP_FILTER_IN] = NULL;
       ri->list[RIP_FILTER_OUT] = NULL;
