summaryrefslogtreecommitdiff
path: root/ripngd/ripng_route.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2018-08-03 13:22:48 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2018-08-30 17:47:59 -0400
commitfe08ba7e1103e6c334fe97b44c43f6762ed7c8f3 (patch)
tree96a43faf439e4d06d3fc5ce9024ce65de03b2e17 /ripngd/ripng_route.c
parent8e1f6512132f37d7318a8eff94c095050b3d971b (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.c42
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;
}