diff --git a/src/bgp/bgp_peer.cc b/src/bgp/bgp_peer.cc index 4f3335ffa86..941a1640cfb 100644 --- a/src/bgp/bgp_peer.cc +++ b/src/bgp/bgp_peer.cc @@ -420,8 +420,6 @@ BgpPeer::BgpPeer(BgpServer *server, RoutingInstance *instance, BgpProto::IBGP : BgpProto::EBGP), state_machine_(BgpObjectFactory::Create(this)), peer_close_(new BgpPeerClose(this)), - close_manager_(BgpObjectFactory::Create( - peer_close_.get())), peer_stats_(new PeerStats(this)), deleter_(new DeleteActor(this)), instance_delete_ref_(this, instance ? instance->deleter() : NULL), @@ -429,6 +427,8 @@ BgpPeer::BgpPeer(BgpServer *server, RoutingInstance *instance, total_flap_count_(0), last_flap_(0), inuse_authkey_type_(AuthenticationData::NIL) { + close_manager_.reset( + BgpObjectFactory::Create(peer_close_.get())); ostringstream oss1; oss1 << peer_key_.endpoint.address(); if (peer_key_.endpoint.port() != BgpConfigManager::kDefaultPort) diff --git a/src/bgp/bgp_xmpp_channel.cc b/src/bgp/bgp_xmpp_channel.cc index 807c0ee6c95..8f3b29a2819 100644 --- a/src/bgp/bgp_xmpp_channel.cc +++ b/src/bgp/bgp_xmpp_channel.cc @@ -464,10 +464,8 @@ BgpXmppChannel::BgpXmppChannel(XmppChannel *channel, bgp_server_(bgp_server), peer_(new XmppPeer(bgp_server, this)), peer_close_(new BgpXmppPeerClose(this)), - close_manager_(BgpObjectFactory::Create( - peer_close_.get())), peer_stats_(new PeerStats(this)), - bgp_policy_(peer_->PeerType(), RibExportPolicy::XMPP, -1, 0), + bgp_policy_(BgpProto::XMPP, RibExportPolicy::XMPP, -1, 0), manager_(manager), delete_in_progress_(false), deleted_(false), @@ -484,6 +482,8 @@ BgpXmppChannel::BgpXmppChannel(XmppChannel *channel, channel->GetTaskInstance(), boost::bind(&BgpXmppChannel::MembershipResponseHandler, this, _1)), lb_mgr_(new LabelBlockManager()) { + close_manager_.reset( + BgpObjectFactory::Create(peer_close_.get())); if (bgp_server) { eor_receive_timer_ = TimerManager::CreateTimer(*bgp_server->ioservice(),