Coverage Report

Created: 2026-10-17 07:02

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/frr/lib/agg_table.c
Line
Count
Source
1
// SPDX-License-Identifier: GPL-2.0-or-later
2
/*
3
 * Aggregate Route
4
 * Copyright (C) 2018 Cumulus Networks, Inc.
5
 *               Donald Sharp
6
 */
7
#include "zebra.h"
8
9
#include "agg_table.h"
10
11
12
static struct route_node *agg_node_create(route_table_delegate_t *delegate,
13
            struct route_table *table)
14
0
{
15
0
  struct agg_node *node;
16
17
0
  node = XCALLOC(MTYPE_TMP, sizeof(struct agg_node));
18
19
0
  return agg_node_to_rnode(node);
20
0
}
21
22
static void agg_node_destroy(route_table_delegate_t *delegate,
23
           struct route_table *table, struct route_node *node)
24
25
0
{
26
0
  struct agg_node *anode = agg_node_from_rnode(node);
27
28
0
  XFREE(MTYPE_TMP, anode);
29
0
}
30
31
static route_table_delegate_t agg_table_delegate = {
32
  .create_node = agg_node_create,
33
  .destroy_node = agg_node_destroy,
34
};
35
36
struct agg_table *agg_table_init(void)
37
13
{
38
13
  struct agg_table *at;
39
40
13
  at = XCALLOC(MTYPE_TMP, sizeof(struct agg_table));
41
42
13
  at->route_table = route_table_init_with_delegate(&agg_table_delegate);
43
13
  route_table_set_info(at->route_table, at);
44
45
13
  return at;
46
13
}