summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_fsm.c5
-rw-r--r--bgpd/bgp_updgrp.c2
-rw-r--r--bgpd/bgpd.c5
3 files changed, 2 insertions, 10 deletions
diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c
index 1164546df7..a8accc25f5 100644
--- a/bgpd/bgp_fsm.c
+++ b/bgpd/bgp_fsm.c
@@ -300,11 +300,6 @@ static struct peer *peer_xfer_conn(struct peer *from_peer)
peer->afc_recv[afi][safi] = from_peer->afc_recv[afi][safi];
peer->orf_plist[afi][safi] = from_peer->orf_plist[afi][safi];
peer->llgr[afi][safi] = from_peer->llgr[afi][safi];
- if (from_peer->soo[afi][safi]) {
- ecommunity_free(&peer->soo[afi][safi]);
- peer->soo[afi][safi] =
- ecommunity_dup(from_peer->soo[afi][safi]);
- }
}
if (bgp_getsockname(peer) < 0) {
diff --git a/bgpd/bgp_updgrp.c b/bgpd/bgp_updgrp.c
index d198aec983..0219535b0d 100644
--- a/bgpd/bgp_updgrp.c
+++ b/bgpd/bgp_updgrp.c
@@ -254,6 +254,8 @@ static void conf_release(struct peer *src, afi_t afi, safi_t safi)
XFREE(MTYPE_BGP_FILTER_NAME, srcfilter->advmap.cname);
XFREE(MTYPE_BGP_PEER_HOST, src->host);
+
+ ecommunity_free(&src->soo[afi][safi]);
}
static void peer2_updgrp_copy(struct update_group *updgrp, struct peer_af *paf)
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index a889a737eb..4c151b2d37 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -1473,11 +1473,6 @@ void peer_xfer_config(struct peer *peer_dst, struct peer *peer_src)
peer_dst->weight[afi][safi] = peer_src->weight[afi][safi];
peer_dst->addpath_type[afi][safi] =
peer_src->addpath_type[afi][safi];
- if (peer_src->soo[afi][safi]) {
- ecommunity_free(&peer_dst->soo[afi][safi]);
- peer_dst->soo[afi][safi] =
- ecommunity_dup(peer_src->soo[afi][safi]);
- }
}
for (afidx = BGP_AF_START; afidx < BGP_AF_MAX; afidx++) {