diff options
author | Stephen Hemminger <stephen@networkplumber.org> | 2010-01-13 00:32:39 +0000 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2014-06-03 15:30:22 +0200 |
commit | d9d4ae5157207b9b8bdb167983519a7ffb860f2c (patch) | |
tree | 8919a83dcb99aac5fa0141f873525517d5e3b7ac /bgpd | |
parent | 8c71e481dae11b7ae3f1ef561a989624b2ae84b6 (diff) | |
download | quagga-d9d4ae5157207b9b8bdb167983519a7ffb860f2c.tar.bz2 quagga-d9d4ae5157207b9b8bdb167983519a7ffb860f2c.tar.xz |
bgpd: fix crash when allowas-in is done on inactive peer
When allowas-in is changed on a peer that is not up, BGP would crash
trying to do route_refresh. If peer is not up, there is no need
to do notification or send.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Feng Lu <lu.feng@6wind.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'bgpd')
-rw-r--r-- | bgpd/bgpd.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index 6a21b11a..2fe300c5 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -2293,6 +2293,9 @@ peer_change_action (struct peer *peer, afi_t afi, safi_t safi, if (CHECK_FLAG (peer->sflags, PEER_STATUS_GROUP)) return; + if (peer->status != Established) + return; + if (type == peer_change_reset) bgp_notify_send (peer, BGP_NOTIFY_CEASE, BGP_NOTIFY_CEASE_CONFIG_CHANGE); |