diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-08-03 13:22:48 -0400 | 
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-08-30 17:47:59 -0400 | 
| commit | fe08ba7e1103e6c334fe97b44c43f6762ed7c8f3 (patch) | |
| tree | 96a43faf439e4d06d3fc5ce9024ce65de03b2e17 /ripngd/ripng_route.c | |
| parent | 8e1f6512132f37d7318a8eff94c095050b3d971b (diff) | |
bgpd, ripngd: Convert to using new agg_table/route
Switch bgp and ripngd to use the new aggregate table and
route data structures.  This was mainly a search and replace
operation.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'ripngd/ripng_route.c')
| -rw-r--r-- | ripngd/ripng_route.c | 42 | 
1 files changed, 20 insertions, 22 deletions
diff --git a/ripngd/ripng_route.c b/ripngd/ripng_route.c index 83cb59c8b8..f66a0b9527 100644 --- a/ripngd/ripng_route.c +++ b/ripngd/ripng_route.c @@ -22,7 +22,7 @@  #include <zebra.h>  #include "prefix.h" -#include "table.h" +#include "agg_table.h"  #include "memory.h"  #include "if.h"  #include "vty.h" @@ -44,13 +44,12 @@ void ripng_aggregate_free(struct ripng_aggregate *aggregate)  }  /* Aggregate count increment check. */ -void ripng_aggregate_increment(struct route_node *child, -			       struct ripng_info *rinfo) +void ripng_aggregate_increment(struct agg_node *child, struct ripng_info *rinfo)  { -	struct route_node *np; +	struct agg_node *np;  	struct ripng_aggregate *aggregate; -	for (np = child; np; np = np->parent) +	for (np = child; np; np = agg_node_parent(np))  		if ((aggregate = np->aggregate) != NULL) {  			aggregate->count++;  			rinfo->suppress++; @@ -58,13 +57,12 @@ void ripng_aggregate_increment(struct route_node *child,  }  /* Aggregate count decrement check. */ -void ripng_aggregate_decrement(struct route_node *child, -			       struct ripng_info *rinfo) +void ripng_aggregate_decrement(struct agg_node *child, struct ripng_info *rinfo)  { -	struct route_node *np; +	struct agg_node *np;  	struct ripng_aggregate *aggregate; -	for (np = child; np; np = np->parent) +	for (np = child; np; np = agg_node_parent(np))  		if ((aggregate = np->aggregate) != NULL) {  			aggregate->count--;  			rinfo->suppress--; @@ -72,14 +70,14 @@ void ripng_aggregate_decrement(struct route_node *child,  }  /* Aggregate count decrement check for a list. */ -void ripng_aggregate_decrement_list(struct route_node *child, struct list *list) +void ripng_aggregate_decrement_list(struct agg_node *child, struct list *list)  { -	struct route_node *np; +	struct agg_node *np;  	struct ripng_aggregate *aggregate;  	struct ripng_info *rinfo = NULL;  	struct listnode *node = NULL; -	for (np = child; np; np = np->parent) +	for (np = child; np; np = agg_node_parent(np))  		if ((aggregate = np->aggregate) != NULL)  			aggregate->count -= listcount(list); @@ -90,8 +88,8 @@ void ripng_aggregate_decrement_list(struct route_node *child, struct list *list)  /* RIPng routes treatment. */  int ripng_aggregate_add(struct prefix *p)  { -	struct route_node *top; -	struct route_node *rp; +	struct agg_node *top; +	struct agg_node *rp;  	struct ripng_info *rinfo;  	struct ripng_aggregate *aggregate;  	struct ripng_aggregate *sub; @@ -99,7 +97,7 @@ int ripng_aggregate_add(struct prefix *p)  	struct listnode *node = NULL;  	/* Get top node for aggregation. */ -	top = route_node_get(ripng->table, p); +	top = agg_node_get(ripng->table, p);  	/* Allocate new aggregate. */  	aggregate = ripng_aggregate_new(); @@ -108,7 +106,7 @@ int ripng_aggregate_add(struct prefix *p)  	top->aggregate = aggregate;  	/* Suppress routes match to the aggregate. */ -	for (rp = route_lock_node(top); rp; rp = route_next_until(rp, top)) { +	for (rp = agg_lock_node(top); rp; rp = agg_route_next_until(rp, top)) {  		/* Suppress normal route. */  		if ((list = rp->info) != NULL)  			for (ALL_LIST_ELEMENTS_RO(list, node, rinfo)) { @@ -128,8 +126,8 @@ int ripng_aggregate_add(struct prefix *p)  /* Delete RIPng static route. */  int ripng_aggregate_delete(struct prefix *p)  { -	struct route_node *top; -	struct route_node *rp; +	struct agg_node *top; +	struct agg_node *rp;  	struct ripng_info *rinfo;  	struct ripng_aggregate *aggregate;  	struct ripng_aggregate *sub; @@ -137,13 +135,13 @@ int ripng_aggregate_delete(struct prefix *p)  	struct listnode *node = NULL;  	/* Get top node for aggregation. */ -	top = route_node_get(ripng->table, p); +	top = agg_node_get(ripng->table, p);  	/* Allocate new aggregate. */  	aggregate = top->aggregate;  	/* Suppress routes match to the aggregate. */ -	for (rp = route_lock_node(top); rp; rp = route_next_until(rp, top)) { +	for (rp = agg_lock_node(top); rp; rp = agg_route_next_until(rp, top)) {  		/* Suppress normal route. */  		if ((list = rp->info) != NULL)  			for (ALL_LIST_ELEMENTS_RO(list, node, rinfo)) { @@ -160,8 +158,8 @@ int ripng_aggregate_delete(struct prefix *p)  	top->aggregate = NULL;  	ripng_aggregate_free(aggregate); -	route_unlock_node(top); -	route_unlock_node(top); +	agg_unlock_node(top); +	agg_unlock_node(top);  	return 0;  }  | 
