diff options
author | Denis Ovsienko <infrastation@yandex.ru> | 2011-08-08 19:36:44 +0400 |
---|---|---|
committer | Denis Ovsienko <infrastation@yandex.ru> | 2011-08-08 19:36:44 +0400 |
commit | 15b1d9d0b0f54b9afbfdb784d535b3761d5efde7 (patch) | |
tree | c01058a48d917cf5ccd523580f9e5285d4c6519b | |
parent | 5990281d4e91e40e0e3cc9149e73c887a7119415 (diff) |
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
-rw-r--r-- | bgpd/bgp_nexthop.c | 38 |
1 files changed, 6 insertions, 32 deletions
diff --git a/bgpd/bgp_nexthop.c b/bgpd/bgp_nexthop.c index cb5a0504..95369045 100644 --- a/bgpd/bgp_nexthop.c +++ b/bgpd/bgp_nexthop.c @@ -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) { @@ -278,10 +267,6 @@ bgp_nexthop_lookup_ipv6 (struct peer *peer, struct bgp_info *ri, int *changed, } } } - else - { - bnc = bnc_new (); - } rn->info = bnc; } @@ -310,14 +295,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); @@ -340,8 +317,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) { @@ -365,10 +343,6 @@ bgp_nexthop_lookup (afi_t afi, struct peer *peer, struct bgp_info *ri, } } } - else - { - bnc = bnc_new (); - } rn->info = bnc; } |