diff options
Diffstat (limited to 'server/fsm.go')
-rw-r--r-- | server/fsm.go | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/server/fsm.go b/server/fsm.go index ee3d221e..c6e03e8f 100644 --- a/server/fsm.go +++ b/server/fsm.go @@ -347,12 +347,9 @@ func (h *FSMHandler) recvMessageloop() error { for { err := h.recvMessageWithError() if err != nil { - switch e := err.(type) { - case *bgp.PacketParseError: - // enqueue notification message - n := bgp.NewBGPNotificationMessage(e.TypeCode, e.SubTypeCode, nil) - h.fsm.outgoing <- n - } + e := err.(*bgp.MessageError) + m := bgp.NewBGPNotificationMessage(e.TypeCode, e.SubTypeCode, e.Data) + h.fsm.outgoing <- m return nil } } |