diff --git a/protocols/bgp/server/fsm_open_sent.go b/protocols/bgp/server/fsm_open_sent.go index 848c76697fb3a415b7e56131b67d3576d0e01722..121ea883a1c4d2de0e9384e275c394608b8665b7 100644 --- a/protocols/bgp/server/fsm_open_sent.go +++ b/protocols/bgp/server/fsm_open_sent.go @@ -134,7 +134,8 @@ func (s *openSentState) handleOpenMessage(openMsg *packet.BGPOpen) (state, strin s.processOpenOptions(openMsg.OptParams) if s.peerASNRcvd != s.fsm.peer.peerASN { - return newCeaseState(), fmt.Sprintf("Expected session from %d, got open message with ASN %d", s.fsm.peer.peerASN, s.peerASNRcvd) + s.fsm.sendNotification(packet.OpenMessageError, packet.BadPeerAS) + return newCeaseState(), fmt.Sprintf("Bad Peer AS %d, expected: %d", s.peerASNRcvd, s.fsm.peer.peerASN) } return newOpenConfirmState(s.fsm), "Received OPEN message"