From 044aec451b2ddf5ab6aafea146d0878fdea1ebed Mon Sep 17 00:00:00 2001 From: Oliver Herms <oliver.herms@exaring.de> Date: Fri, 5 Oct 2018 16:47:01 +0200 Subject: [PATCH] Completing decode function --- protocols/bmp/packet/decode.go | 7 ++++++- protocols/bmp/packet/route_mirroring.go | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/protocols/bmp/packet/decode.go b/protocols/bmp/packet/decode.go index 2e0a0682..581411d6 100644 --- a/protocols/bmp/packet/decode.go +++ b/protocols/bmp/packet/decode.go @@ -84,12 +84,17 @@ func Decode(msg []byte) (Msg, error) { case TerminationMessageType: tm, err := decodeTerminationMessage(buf, ch) if err != nil { - return nil, fmt.Errorf("Unable to decide termination message: %v", err) + return nil, fmt.Errorf("Unable to decode termination message: %v", err) } return tm, nil case RouteMirroringMessageType: + rm, err := decodeRouteMirroringMsg(buf, ch) + if err != nil { + return nil, fmt.Errorf("Unable to decode route mirroring message: %v", err) + } + return rm, nil default: return nil, fmt.Errorf("Unexpected message type: %d", ch.MsgType) diff --git a/protocols/bmp/packet/route_mirroring.go b/protocols/bmp/packet/route_mirroring.go index 007f1262..e3d013a0 100644 --- a/protocols/bmp/packet/route_mirroring.go +++ b/protocols/bmp/packet/route_mirroring.go @@ -12,6 +12,11 @@ type RouteMirroringMsg struct { TLVs []*InformationTLV } +// MsgType returns the type of this message +func (rm *RouteMirroringMsg) MsgType() uint8 { + return rm.CommonHeader.MsgType +} + func decodeRouteMirroringMsg(buf *bytes.Buffer, ch *CommonHeader) (*RouteMirroringMsg, error) { rm := &RouteMirroringMsg{ CommonHeader: ch, -- GitLab