summaryrefslogtreecommitdiff
path: root/bgpd/rfapi/rfapi_import.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/rfapi/rfapi_import.c')
-rw-r--r--bgpd/rfapi/rfapi_import.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/bgpd/rfapi/rfapi_import.c b/bgpd/rfapi/rfapi_import.c
index 6f5af5182a..6b37073e0e 100644
--- a/bgpd/rfapi/rfapi_import.c
+++ b/bgpd/rfapi/rfapi_import.c
@@ -123,7 +123,7 @@ void rfapiDebugBacktrace(void)
* Count remote routes and compare with actively-maintained values.
* Abort if they disagree.
*/
-void rfapiCheckRouteCount()
+void rfapiCheckRouteCount(void)
{
struct bgp *bgp = bgp_get_default();
struct rfapi *h;
@@ -550,11 +550,8 @@ static void rfapiBgpInfoFree(struct bgp_path_info *goner)
if (goner->attr) {
bgp_attr_unintern(&goner->attr);
}
- if (goner->extra) {
- assert(!goner->extra->damp_info); /* Not used in import tbls */
- XFREE(MTYPE_BGP_ROUTE_EXTRA, goner->extra);
- goner->extra = NULL;
- }
+ if (goner->extra)
+ bgp_path_info_extra_free(&goner->extra);
XFREE(MTYPE_BGP_ROUTE, goner);
}
@@ -4244,13 +4241,15 @@ static void rfapiBgpTableFilteredImport(struct bgp *bgp,
for (rn1 = bgp_table_top(bgp->rib[afi][safi]); rn1;
rn1 = bgp_route_next(rn1)) {
- if (rn1->info) {
- for (rn2 = bgp_table_top(rn1->info); rn2;
+ if (bgp_node_has_bgp_path_info_data(rn1)) {
+
+ for (rn2 = bgp_table_top(bgp_node_get_bgp_table_info(rn1)); rn2;
rn2 = bgp_route_next(rn2)) {
struct bgp_path_info *bpi;
- for (bpi = rn2->info; bpi; bpi = bpi->next) {
+ for (bpi = bgp_node_get_bgp_path_info(rn2);
+ bpi; bpi = bpi->next) {
uint32_t label = 0;
if (CHECK_FLAG(bpi->flags,