MCPcopy Create free account
hub / github.com/coreswitch/zebra / DecodeFromBytes

Method DecodeFromBytes

bgp/message.go:222–236  ·  view source on GitHub ↗
(data []byte)

Source from the content-addressed store, hash-verified

220}
221
222func (c *CapMultiProtocol) DecodeFromBytes(data []byte) error {
223 err := c.CapabilityBase.DecodeFromBytes(data)
224 if err != nil {
225 return err
226 }
227 if c.CapLen != 4 {
228 return NewBgpError(BGP_ERR_MSG_HEADER_ERROR, BGP_ERR_SUB_BAD_MESSAGE_LENGTH, nil, "")
229 }
230 data = data[2:]
231 if len(data) < 4 {
232 return NewBgpError(BGP_ERR_MSG_HEADER_ERROR, BGP_ERR_SUB_BAD_MESSAGE_LENGTH, nil, "")
233 }
234 c.AfiSafi = AfiSafiValue(Afi(binary.BigEndian.Uint16(data[0:2])), Safi(data[3]))
235 return nil
236}
237
238func (c *CapMultiProtocol) Serialize() ([]byte, error) {
239 c.CapCode = BGP_CAP_MULTIPROTOCOL

Callers

nothing calls this directly

Calls 5

NewBgpErrorFunction · 0.85
AfiSafiValueFunction · 0.85
AfiTypeAlias · 0.85
SafiTypeAlias · 0.85
DecodeFromBytesMethod · 0.65

Tested by

no test coverage detected