|
|
LSA byte streams are decoded through this class.
LsaDecoder (OspfTypes::Version version)
| LsaDecoder |
~LsaDecoder ()
| ~LsaDecoder |
void register_decoder (Lsa *lsa)
| register_decoder |
Register the LSA decoders, called multiple times with each LSA.
Parameters:
LSA | decoder |
void register_unknown_decoder (Lsa *lsa)
| register_unknown_decoder |
Register the unknown LSA decoder, called once.
Parameters:
LSA | decoder |
Lsa::LsaRef decode (uint8_t *ptr, size_t& len)
throw(InvalidPacket) | decode |
[const]
Decode an LSA.
Parameters:
buf | pointer to buffer. |
len | length of the buffer on input set to the number of bytes consumed on output. |
Returns: A reference to an LSA that manages its own memory.
size_t min_length ()
| min_length |
[const]
Returns: The length of the smallest LSA that can be decoded.
bool validate (uint16_t type)
| validate |
[const]
Validate type field. If we know how to decode an LSA of this type we must know how to process it.
Returns: true if we know about this type of LSA.
bool external (uint16_t type)
| external |
Is an LSA of this type an AS-external-LSA?
Returns: true if this type is an AS-external-LSA
const char * name (uint16_t type)
| name |
[const]
OspfTypes::Version get_version ()
| get_version |
[const]