aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-protocols/quagga/files/quagga-Avoid-duplicate-connected-address.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-networking/recipes-protocols/quagga/files/quagga-Avoid-duplicate-connected-address.patch')
-rw-r--r--meta-networking/recipes-protocols/quagga/files/quagga-Avoid-duplicate-connected-address.patch54
1 files changed, 0 insertions, 54 deletions
diff --git a/meta-networking/recipes-protocols/quagga/files/quagga-Avoid-duplicate-connected-address.patch b/meta-networking/recipes-protocols/quagga/files/quagga-Avoid-duplicate-connected-address.patch
deleted file mode 100644
index a07e33f9fd..0000000000
--- a/meta-networking/recipes-protocols/quagga/files/quagga-Avoid-duplicate-connected-address.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-quagga: Avoid duplicate connected address adding to the list
-
-commit 27ba970b9("quagga/ripd: Fix two bugs after received SIGHUP signal")
-introduces an regression: ifp->connected list is cleaned up when ripd is
-restarting, however, for interface addresses which are not specified in
-ripd configuration file, they are never to be added into ifp->connected
-again, this will lead to some abnormal behavior for route advertising.
-
-Instead of cleaning up the ifp->connected list to avoid duplicated
-connected address being added into this list, we can check this
-condition during interface address adding process and return early
-when an identical address has already been added.
-
-Upstream-Status: Pending
-
-Signed-off-by: Hu Yadi <Yadi.hu@windriver.com>
-Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
-Signed-off-by: Joe MacDonald <joe@deserted.net>
----
---- a/lib/if.c
-+++ b/lib/if.c
-@@ -738,6 +738,16 @@ connected_add_by_prefix (struct interfac
- struct prefix *destination)
- {
- struct connected *ifc;
-+ struct listnode *cnode;
-+ struct connected *c;
-+ int ret = 0;
-+
-+ for (ALL_LIST_ELEMENTS_RO (ifp->connected, cnode, c))
-+ {
-+ ret = connected_same_prefix (p, (c->address));
-+ if(ret == 1)
-+ return NULL;
-+ }
-
- /* Allocate new connected address. */
- ifc = connected_new ();
---- a/ripd/rip_interface.c
-+++ b/ripd/rip_interface.c
-@@ -516,13 +516,6 @@ rip_interface_clean (void)
- 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);
-- }
- }
- }
-