bgpd: dismiss some zlookup checks

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
This commit is contained in:
Denis Ovsienko 2011-08-08 19:36:44 +04:00 committed by Paul Jakma
parent 318f0d8a7f
commit b64bfc1c4a

View File

@ -175,10 +175,6 @@ bgp_nexthop_onlink (afi_t afi, struct attr *attr)
{ {
struct bgp_node *rn; struct bgp_node *rn;
/* If zebra is not enabled return */
if (zlookup->sock < 0)
return 1;
/* Lookup the address is onlink or not. */ /* Lookup the address is onlink or not. */
if (afi == AFI_IP) 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 bgp_nexthop_cache *bnc;
struct attr *attr; 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. */ /* Only check IPv6 global address only nexthop. */
attr = ri->attr; attr = ri->attr;
@ -253,8 +241,9 @@ bgp_nexthop_lookup_ipv6 (struct peer *peer, struct bgp_info *ri, int *changed,
} }
else else
{ {
bnc = zlookup_query_ipv6 (&attr->extra->mp_nexthop_global); if (NULL == (bnc = zlookup_query_ipv6 (&attr->extra->mp_nexthop_global)))
if (bnc) bnc = bnc_new ();
else
{ {
if (changed) 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; 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 bgp_nexthop_cache *bnc;
struct in_addr addr; 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 #ifdef HAVE_IPV6
if (afi == AFI_IP6) if (afi == AFI_IP6)
return bgp_nexthop_lookup_ipv6 (peer, ri, changed, metricchanged); 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 else
{ {
bnc = zlookup_query (addr); if (NULL == (bnc = zlookup_query (addr)))
if (bnc) bnc = bnc_new ();
else
{ {
if (changed) 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; rn->info = bnc;
} }