diff options
-rw-r--r-- | bgpd.go | 2 | ||||
-rw-r--r-- | server/peer.go | 3 |
2 files changed, 3 insertions, 2 deletions
@@ -157,7 +157,7 @@ func main() { added = newConfig.NeighborList deleted = []config.NeighborType{} } else { - _, added, deleted = config.UpdateConfig(bgpConfig, &newConfig) + bgpConfig, added, deleted = config.UpdateConfig(bgpConfig, &newConfig) } for _, p := range added { diff --git a/server/peer.go b/server/peer.go index 6f0d2f6b..437ea38c 100644 --- a/server/peer.go +++ b/server/peer.go @@ -259,7 +259,8 @@ func (peer *Peer) loop() error { select { case <-peer.t.Dying(): close(peer.acceptedConnCh) - h.Stop() + h.fsm.outgoing <- bgp.NewBGPNotificationMessage(bgp.BGP_ERROR_CEASE, bgp.BGP_ERROR_SUB_PEER_DECONFIGURED, nil) + h.Wait() close(peer.incoming) close(peer.outgoing) return nil |