libbgp  0.6
A C++ BGP Library.
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
libbgp::BgpPathAttribMpNlriBase Class Reference

MP-BGP Reach/Unreach NLRI base class. More...

#include <bgp-path-attrib.h>

Inheritance diagram for libbgp::BgpPathAttribMpNlriBase:
Inheritance graph
[legend]
Collaboration diagram for libbgp::BgpPathAttribMpNlriBase:
Collaboration graph
[legend]

Public Member Functions

 BgpPathAttribMpNlriBase (BgpLogHandler *logger)
 
- Public Member Functions inherited from libbgp::BgpPathAttrib
 BgpPathAttrib (BgpLogHandler *logger)
 Construct a new Bgp Path Attrib:: Bgp Path Attrib object. More...
 
 BgpPathAttrib (BgpLogHandler *logger, const uint8_t *value, uint16_t val_len)
 Construct a new Bgp Path Attrib:: Bgp Path Attrib object. More...
 
ssize_t doPrint (size_t indent, uint8_t **to, size_t *buf_sz) const
 Print implementation. More...
 
virtual ssize_t parse (const uint8_t *from, size_t msg_sz)
 Deserialize a BGP update message path attribute. More...
 
virtual ssize_t write (uint8_t *to, size_t buf_sz) const
 Serialize a BGP update message path attribute. More...
 
virtual ssize_t length () const
 Get size in bytes required to serialize the object. More...
 
BgpPathAttribclone (BgpLogHandler *new_logger) const
 Clone the attribute and replace logger. More...
 
virtual BgpPathAttribclone () const
 Clone the attribute. More...
 
virtual ~BgpPathAttrib ()
 Destroy the Bgp Path Attrib:: Bgp Path Attrib object.
 
- Public Member Functions inherited from libbgp::Serializable
 Serializable (BgpLogHandler *logger)
 Construct a new Serializable:: Serializable object. More...
 
 ~Serializable ()
 Destroy the Serializable:: Serializable object.
 
ssize_t print (uint8_t *to, size_t buf_sz) const
 Print the Serializable object as human readable string. More...
 
ssize_t print (size_t indent, uint8_t *to, size_t buf_sz) const
 Print the Serializable object as human readable string, with indentation. More...
 
bool hasError () const
 Check if error information available. More...
 
uint8_t getErrorCode () const
 
uint8_t getErrorSubCode () const
 
const uint8_t * getError () const
 
size_t getErrorLength () const
 
void setLogger (BgpLogHandler *logger)
 Replace logger for this object. More...
 

Static Public Member Functions

static int16_t GetAfiFromBuffer (const uint8_t *buffer, size_t length)
 
- Static Public Member Functions inherited from libbgp::BgpPathAttrib
static uint8_t GetTypeFromBuffer (const uint8_t *buffer, size_t buffer_sz)
 Get type of attribute from buffer. More...
 

Public Attributes

uint16_t afi
 Address Family Identifier.
 
uint8_t safi
 Subsequent Address Family Identifier.
 
- Public Attributes inherited from libbgp::BgpPathAttrib
bool optional
 Attribute flag: Optional.
 
bool transitive
 Attribute flag: Transitive.
 
bool partial
 Attribute flag: partial.
 
bool extended
 Attribute flag: extended.
 
uint8_t type_code
 Attribute type code.
 

Protected Member Functions

ssize_t parseHeader (const uint8_t *buffer, size_t length)
 
- Protected Member Functions inherited from libbgp::BgpPathAttrib
ssize_t parseHeader (const uint8_t *buffer, size_t length)
 Utility function to parse attribute header. (Flag, type, length) More...
 
ssize_t printFlags (size_t indent, uint8_t **to, size_t *buf_sz) const
 Utility function to print flags for attribute. More...
 
ssize_t writeHeader (uint8_t *buffer, size_t buffer_sz) const
 Write attribute header to buffer. (Flag, Type) More...
 
- Protected Member Functions inherited from libbgp::Serializable
void setError (uint8_t err, uint8_t suberr, const uint8_t *data, size_t data_len)
 Set the error information. More...
 
void forwardParseError (const Serializable &other)
 Forward error information from other Serializable object. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from libbgp::Serializable
static ssize_t _print (size_t indent, uint8_t **to, size_t *buf_left, const char *format,...)
 Print helper. More...
 
- Protected Attributes inherited from libbgp::BgpPathAttrib
uint16_t value_len
 Attribute length. Length field is only used in deserialization for parseHeader() to pass length field in header to the underlying deserializers. The length field is ignored when serialize.
 
- Protected Attributes inherited from libbgp::Serializable
uint8_t err_code
 
uint8_t err_subcode
 
size_t err_len
 
uint8_t * err_data
 
BgpLogHandlerlogger
 

Detailed Description

MP-BGP Reach/Unreach NLRI base class.

Definition at line 449 of file bgp-path-attrib.h.


The documentation for this class was generated from the following files: