diff --git a/protocols/bgp/server/peer.go b/protocols/bgp/server/peer.go
index 7bfcbc560181663fec221f76ada98d00ef29e517..bf18c5d5d869c71a33b9e9aa587bbeaaca405f5f 100644
--- a/protocols/bgp/server/peer.go
+++ b/protocols/bgp/server/peer.go
@@ -73,5 +73,9 @@ func (p *Peer) GetASN() uint32 {
 
 func (p *Peer) Start() {
 	p.fsm.start()
-	p.fsm.activate()
+	go func() {
+		for {
+			p.fsm.activate()
+		}
+	}() 
 }