]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: reuse bgp_path_info_extra_free() routing in rfapi 3418/head
authorPhilippe Guibert <philippe.guibert@6wind.com>
Wed, 5 Dec 2018 14:09:35 +0000 (15:09 +0100)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Wed, 5 Dec 2018 14:09:35 +0000 (15:09 +0100)
rfapi code should use bgp_path_info_extra_free() routine.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
bgpd/bgp_route.c
bgpd/bgp_route.h
bgpd/rfapi/rfapi_import.c

index bb8c5d8f6e9210e01df734ee34dd288f301d3215..74e4276c064991562cf6ba750e8d5b83e35086e8 100644 (file)
@@ -176,7 +176,7 @@ static struct bgp_path_info_extra *bgp_path_info_extra_new(void)
        return new;
 }
 
-static void bgp_path_info_extra_free(struct bgp_path_info_extra **extra)
+void bgp_path_info_extra_free(struct bgp_path_info_extra **extra)
 {
        struct bgp_path_info_extra *e;
 
index 466d52ed64d9657fabd6a537fca54a70f216f13a..0b3a203af760299d67bdb7c47dfb03b91978ac23 100644 (file)
@@ -362,6 +362,7 @@ extern struct bgp_node *bgp_afi_node_get(struct bgp_table *table, afi_t afi,
 extern struct bgp_path_info *bgp_path_info_lock(struct bgp_path_info *path);
 extern struct bgp_path_info *bgp_path_info_unlock(struct bgp_path_info *path);
 extern void bgp_path_info_add(struct bgp_node *rn, struct bgp_path_info *pi);
+extern void bgp_path_info_extra_free(struct bgp_path_info_extra **extra);
 extern void bgp_path_info_reap(struct bgp_node *rn, struct bgp_path_info *pi);
 extern void bgp_path_info_delete(struct bgp_node *rn, struct bgp_path_info *pi);
 extern struct bgp_path_info_extra *
index 6f5af5182a8d2dae4c9545c3d1ba6a3842bb1231..6b2d5d3426ea0e75ef1794cd9d6b14787fef385b 100644 (file)
@@ -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);
 }