]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: dismiss some zlookup checks
authorDenis Ovsienko <infrastation@yandex.ru>
Mon, 8 Aug 2011 15:36:44 +0000 (19:36 +0400)
committerPaul Jakma <paul@quagga.net>
Sun, 8 Jan 2012 11:31:35 +0000 (11:31 +0000)
bgp_nexthop_onlink(): zlookup is not used here at all
bgp_nexthop_lookup_ipv6(): rely on the detection performed by "query"
  function (this also changes the fallback value to 0), reorder if-block
bgp_nexthop_lookup(): idem

bgpd/bgp_nexthop.c

index db121d2caeb4459fb40c0eba99b418b92655a579..dc448f9fa278c05ab97c1fb40572d1f25083e5ae 100644 (file)
@@ -175,10 +175,6 @@ bgp_nexthop_onlink (afi_t afi, struct attr *attr)
 {
   struct bgp_node *rn;
 
-  /* If zebra is not enabled return */
-  if (zlookup->sock < 0)
-    return 1;
-
   /* Lookup the address is onlink or not. */
   if (afi == AFI_IP)
     {
@@ -223,14 +219,6 @@ bgp_nexthop_lookup_ipv6 (struct peer *peer, struct bgp_info *ri, int *changed,
   struct bgp_nexthop_cache *bnc;
   struct attr *attr;
 
-  /* If lookup is not enabled, return valid. */
-  if (zlookup->sock < 0)
-    {
-      if (ri->extra)
-        ri->extra->igpmetric = 0;
-      return 1;
-    }
-
   /* Only check IPv6 global address only nexthop. */
   attr = ri->attr;
 
@@ -253,8 +241,9 @@ bgp_nexthop_lookup_ipv6 (struct peer *peer, struct bgp_info *ri, int *changed,
     }
   else
     {
-      bnc = zlookup_query_ipv6 (&attr->extra->mp_nexthop_global);
-      if (bnc)
+      if (NULL == (bnc = zlookup_query_ipv6 (&attr->extra->mp_nexthop_global)))
+       bnc = bnc_new ();
+      else
        {
          if (changed)
            {
@@ -280,10 +269,6 @@ bgp_nexthop_lookup_ipv6 (struct peer *peer, struct bgp_info *ri, int *changed,
                }
            }
        }
-      else
-       {
-         bnc = bnc_new ();
-       }
       rn->info = bnc;
     }
 
@@ -312,14 +297,6 @@ bgp_nexthop_lookup (afi_t afi, struct peer *peer, struct bgp_info *ri,
   struct bgp_nexthop_cache *bnc;
   struct in_addr addr;
 
-  /* If lookup is not enabled, return valid. */
-  if (zlookup->sock < 0)
-    {
-      if (ri->extra)
-        ri->extra->igpmetric = 0;
-      return 1;
-    }
-
 #ifdef HAVE_IPV6
   if (afi == AFI_IP6)
     return bgp_nexthop_lookup_ipv6 (peer, ri, changed, metricchanged);
@@ -342,8 +319,9 @@ bgp_nexthop_lookup (afi_t afi, struct peer *peer, struct bgp_info *ri,
     }
   else
     {
-      bnc = zlookup_query (addr);
-      if (bnc)
+      if (NULL == (bnc = zlookup_query (addr)))
+       bnc = bnc_new ();
+      else
        {
          if (changed)
            {
@@ -369,10 +347,6 @@ bgp_nexthop_lookup (afi_t afi, struct peer *peer, struct bgp_info *ri,
                }
            }
        }
-      else
-       {
-         bnc = bnc_new ();
-       }
       rn->info = bnc;
     }