summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_route.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_route.c')
-rw-r--r--bgpd/bgp_route.c21
1 files changed, 7 insertions, 14 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index aab85eb3..87d305cb 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -620,10 +620,7 @@ bgp_announce_check (struct bgp_info *ri, struct peer *peer, struct prefix *p,
if (transparent || reflect
|| (CHECK_FLAG (peer->af_flags[afi][safi], PEER_FLAG_NEXTHOP_UNCHANGED)
&& ((p->family == AF_INET && attr->nexthop.s_addr)
-#ifdef HAVE_IPV6
- || (p->family == AF_INET6 && ri->peer != bgp->peer_self)
-#endif /* HAVE_IPV6 */
- )))
+ || (p->family == AF_INET6 && ri->peer != bgp->peer_self))))
{
/* NEXT-HOP Unchanged. */
}
@@ -1780,7 +1777,6 @@ bgp_static_update (struct bgp *bgp, struct prefix *p,
struct bgp_info *new;
struct bgp_info info;
struct attr attr;
- struct attr attr_tmp;
struct attr *attr_new;
int ret;
@@ -1797,26 +1793,23 @@ bgp_static_update (struct bgp *bgp, struct prefix *p,
/* Apply route-map. */
if (bgp_static->rmap.name)
{
- attr_tmp = attr;
info.peer = bgp->peer_self;
- info.attr = &attr_tmp;
+ info.attr = &attr;
ret = route_map_apply (bgp_static->rmap.map, p, RMAP_BGP, &info);
-
if (ret == RMAP_DENYMATCH)
{
/* Free uninterned attribute. */
- bgp_attr_flush (&attr_tmp);
+ bgp_attr_flush (&attr);
/* Unintern original. */
aspath_unintern (attr.aspath);
bgp_static_withdraw (bgp, p, afi, safi);
return;
}
- attr_new = bgp_attr_intern (&attr_tmp);
}
- else
- attr_new = bgp_attr_intern (&attr);
+
+ attr_new = bgp_attr_intern (&attr);
for (ri = rn->info; ri; ri = ri->next)
if (ri->peer == bgp->peer_self && ri->type == ZEBRA_ROUTE_BGP
@@ -2866,7 +2859,7 @@ bgp_aggregate_increment (struct bgp *bgp, struct prefix *p,
if ((aggregate = rn->info) != NULL && rn->p.prefixlen < p->prefixlen)
{
bgp_aggregate_delete (bgp, &rn->p, afi, safi, aggregate);
- bgp_aggregate_route (bgp, &rn->p, ri, afi, safi, NULL, aggregate);
+ bgp_aggregate_route (bgp, &rn->p, ri, safi, safi, NULL, aggregate);
}
bgp_unlock_node (child);
}
@@ -2893,7 +2886,7 @@ bgp_aggregate_decrement (struct bgp *bgp, struct prefix *p,
if ((aggregate = rn->info) != NULL && rn->p.prefixlen < p->prefixlen)
{
bgp_aggregate_delete (bgp, &rn->p, afi, safi, aggregate);
- bgp_aggregate_route (bgp, &rn->p, NULL, afi, safi, del, aggregate);
+ bgp_aggregate_route (bgp, &rn->p, NULL, safi, safi, del, aggregate);
}
bgp_unlock_node (child);
}