struct bgp_node *child;
struct bgp_node *rn;
struct bgp_aggregate *aggregate;
+ struct bgp_table *table;
/* MPLS-VPN aggregation is not yet supported. */
if (safi == SAFI_MPLS_VPN)
return;
+ table = bgp->aggregate[afi][safi];
+
+ /* No aggregates configured. */
+ if (table->top == NULL)
+ return;
+
if (p->prefixlen == 0)
return;
if (BGP_INFO_HOLDDOWN (ri))
return;
- child = bgp_node_get (bgp->aggregate[afi][safi], p);
+ child = bgp_node_lookup (table, p);
+ if (! child)
+ return;
/* Aggregate address configuration check. */
for (rn = child; rn; rn = rn->parent)
struct bgp_node *child;
struct bgp_node *rn;
struct bgp_aggregate *aggregate;
+ struct bgp_table *table;
/* MPLS-VPN aggregation is not yet supported. */
if (safi == SAFI_MPLS_VPN)
return;
+ table = bgp->aggregate[afi][safi];
+
+ /* No aggregates configured. */
+ if (table->top == NULL)
+ return;
+
if (p->prefixlen == 0)
return;
- child = bgp_node_get (bgp->aggregate[afi][safi], p);
+ child = bgp_node_lookup (table, p);
+ if (! child)
+ return;
/* Aggregate address configuration check. */
for (rn = child; rn; rn = rn->parent)