diff options
author | Jorge Boncompte [DTI2] <jorge@dti2.net> | 2012-05-07 15:17:33 +0000 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2013-01-14 14:42:38 +0100 |
commit | ebbb5fca5ca899a9a125aa2770d3fdf857186bac (patch) | |
tree | b2e5f525e5dc30a378dc4ace24f5feca70c33e71 | |
parent | a5c851c7ff41ef846e83d62394176ac1753ebf45 (diff) |
bgpd: fix for leaked struct bgp_adj_[in|out] on peer shutdown
If a peer with soft-reconfiguration configured is cleared, the
function bgp_clear_route_table() doesn't free the bgp_adj_in and bgp_adj_out
structures of route nodes that for some reason, ej. denied by a filter,
don't have routes attached "rn->info == NULL".
Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
Reviewed-by: Leonid Rosenboim <Leonid.Rosenboim@windriver.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
-rw-r--r-- | bgpd/bgp_route.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 2412503d..9251d2c2 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -2810,9 +2810,6 @@ bgp_clear_route_table (struct peer *peer, afi_t afi, safi_t safi, struct bgp_info *ri; struct bgp_adj_in *ain; struct bgp_adj_out *aout; - - if (rn->info == NULL) - continue; /* XXX:TODO: This is suboptimal, every non-empty route_node is * queued for every clearing peer, regardless of whether it is |