summaryrefslogtreecommitdiffstats
path: root/lib/agg_table.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* *: Create/Use accessor functions for lock countDonald Sharp2020-10-171-0/+5
| | | | | | | | Create appropriate accessor functions for the rn->lock data. We should be accessing this data through accessor functions since it is private data to the data structure. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* lib: prepare for plugin-based frr_format checkDavid Lamparter2020-03-291-0/+4
| | | | Signed-off-by: David Lamparter <equinox@diac24.net>
* bgpd, lib, ripngd: Add agg_node_get_prefixDonald Sharp2020-03-241-0/+6
| | | | | | | | | Modify code to use lookup function agg_node_get_prefix() as the abstraction layer. When we rework bgp_node to bgp_dest this will allow us to greatly limit the amount of work needed to do that. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* lib: Modify agg_XX calls to use `const struct prefix`Donald Sharp2020-03-221-3/+3
| | | | | | | | | Tell the compiler that the prefix is being used for lookups and it will never change. Setup for future work. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* lib: add extern "C" {} blocks to all libfrr headersRenato Westphal2019-02-121-0/+9
| | | | | | | These are necessary to use functions defined in these headers from C++. Signed-off-by: David Lamparter <equinox@diac24.net> Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* bgpd isisd lib: fix return on void functionsF. Aragon2018-11-201-1/+1
| | | | | | ISO C forbids ‘return’ with expression, in function returning void. Signed-off-by: F. Aragon <paco@voltanet.io>
* bgpd, lib, zebra: Wrapper get/set of table->info pointerDonald Sharp2018-09-241-1/+1
| | | | | | | Wrapper the get/set of the table->info pointer so that people are not directly accessing this data. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* lib: Move aggregate pointer into aggregate route/tableDonald Sharp2018-08-301-0/+2
| | | | | | | | Move the aggregate pointer from the route_node into agg_node so that people using struct route_node will see a savings in data size. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* lib: Add Aggregate Table and Aggregate_nodeDonald Sharp2018-08-301-0/+151
Add a abstraction for `struct route_node` and `struct route_table` such that we can have an aggregate route_node and table. This is because only bgp/rfapi and ripng use the aggregate data pointer in `struct route_node`. For full route tables other routing protocols and tables are paying a 8 byte overhead per node. A full bgp table ends up being ~1.2 million routes in bgp and zebra. This is not an insiginificant amount of data. So create the data structures for this replacement, but do not replace the aggregate pointer yet. This is because later commits will convert rfapi and ripng over to this new data, and finally we'll move the aggregate pointer. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>