---
 bgpd/bgp_nexthop.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/bgpd/bgp_nexthop.c b/bgpd/bgp_nexthop.c
index 434b2cd..b8b3b93 100644
--- a/bgpd/bgp_nexthop.c
+++ b/bgpd/bgp_nexthop.c
@@ -1492,6 +1492,11 @@ bgp_scan_init (void)
   bgp_nexthop_cache_table[AFI_IP6] = cache1_table[AFI_IP6];
   bgp_connected_table[AFI_IP6] = bgp_table_init (AFI_IP6, SAFI_UNICAST);
 
+  cache1_table[AFI_ETHER] = bgp_table_init (AFI_ETHER, SAFI_UNICAST);
+  cache2_table[AFI_ETHER] = bgp_table_init (AFI_ETHER, SAFI_UNICAST);
+  bgp_nexthop_cache_table[AFI_ETHER] = cache1_table[AFI_ETHER];
+  bgp_connected_table[AFI_ETHER] = bgp_table_init (AFI_ETHER, SAFI_UNICAST);
+
   /* Make BGP scan thread. */
   bgp_scan_thread = thread_add_timer (bm->master, bgp_scan_timer, 
                                       NULL, bgp_scan_interval);
@@ -1534,6 +1539,19 @@ bgp_scan_finish (void)
   if (bgp_connected_table[AFI_IP6])
     bgp_table_unlock (bgp_connected_table[AFI_IP6]);
   bgp_connected_table[AFI_IP6] = NULL;
+
+  if (cache1_table[AFI_ETHER])
+    bgp_table_unlock (cache1_table[AFI_ETHER]);
+  cache1_table[AFI_ETHER] = NULL;
+
+  if (cache2_table[AFI_ETHER])
+    bgp_table_unlock (cache2_table[AFI_ETHER]);
+  cache2_table[AFI_ETHER] = NULL;
+
+  if (bgp_connected_table[AFI_ETHER])
+    bgp_table_unlock (bgp_connected_table[AFI_ETHER]);
+  bgp_connected_table[AFI_ETHER] = NULL;
+
 }
 
 void
-- 
2.1.3


_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to