Skip to content

Commit

Permalink
Agent crash@ route notify
Browse files Browse the repository at this point in the history
Agent channel is deleted and notify is received on same.
It can happen that notify was enqueued before unregister/delete of channel.
Solution is to ignore if any notify comes for inactive channel.
Same is present in handling of vrf notify (controller_vrf_export).

Change-Id: I1a791b5411841c5a72b7f83b414992a014e2b6f7
Closes-bug: #1668205
  • Loading branch information
manishsing committed Feb 27, 2017
1 parent 6bdb476 commit ae4d7bb
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/vnsw/agent/controller/controller_export.cc
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,11 @@ void RouteExport::Notify(const Agent *agent,
return;
}

//If channel is no more active, ignore any updates.
//It may happen that notify is enqueued before channel is removed.
if (!AgentXmppChannel::IsBgpPeerActive(agent, bgp_xmpp_peer))
return;

if (route->is_multicast()) {
MulticastNotify(bgp_xmpp_peer, associate, partition, e);
} else {
Expand Down

0 comments on commit ae4d7bb

Please sign in to comment.