diff options
Diffstat (limited to 'packet/mrt.go')
-rw-r--r-- | packet/mrt.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/packet/mrt.go b/packet/mrt.go index 7c336684..15dbc839 100644 --- a/packet/mrt.go +++ b/packet/mrt.go @@ -641,8 +641,9 @@ func NewBGP4MPStateChange(peeras, localas uint32, intfindex uint16, peerip, loca type BGP4MPMessage struct { *BGP4MPHeader - BGPMessage *BGPMessage - isLocal bool + BGPMessage *BGPMessage + BGPMessagePayload []byte + isLocal bool } func (m *BGP4MPMessage) DecodeFromBytes(data []byte) error { @@ -668,6 +669,9 @@ func (m *BGP4MPMessage) Serialize() ([]byte, error) { if err != nil { return nil, err } + if m.BGPMessagePayload != nil { + return append(buf, m.BGPMessagePayload...), nil + } bbuf, err := m.BGPMessage.Serialize() if err != nil { return nil, err |