(data []byte)
| 220 | } |
| 221 | |
| 222 | func (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 | |
| 238 | func (c *CapMultiProtocol) Serialize() ([]byte, error) { |
| 239 | c.CapCode = BGP_CAP_MULTIPROTOCOL |
nothing calls this directly
no test coverage detected