| libbgp
    0.6
    A C++ BGP Library. | 
AS4_PATH attribute. More...
#include <bgp-path-attrib.h>


| Public Member Functions | |
| BgpPathAttribAs4Path (BgpLogHandler *logger) | |
| Construct a new Bgp Path Attrib As 4 Path:: Bgp Path Attrib As 4 Path object.  More... | |
| bool | prepend (uint32_t asn) | 
| Prepend an ASN into AS4 path.  More... | |
| BgpPathAttrib * | clone () const | 
| Clone the attribute.  More... | |
| ssize_t | parse (const uint8_t *buffer, size_t length) | 
| Deserialize a BGP update message path attribute.  More... | |
| ssize_t | write (uint8_t *buffer, size_t buffer_sz) const | 
| Serialize a BGP update message path attribute.  More... | |
| ssize_t | doPrint (size_t indent, uint8_t **to, size_t *buf_sz) const | 
| Print implementation.  More... | |
| ssize_t | length () const | 
| Get size in bytes required to serialize the object.  More... | |
|  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... | |
| BgpPathAttrib * | clone (BgpLogHandler *new_logger) const | 
| Clone the attribute and replace logger.  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... | |
| Public Attributes | |
| std::vector< BgpAsPathSegment > | as4_paths | 
| The AS4_PATH segments. | |
|  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. | |
| Additional Inherited Members | |
|  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... | |
|  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... | |
|  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 | 
| BgpLogHandler * | logger | 
AS4_PATH attribute.
Definition at line 376 of file bgp-path-attrib.h.
| libbgp::BgpPathAttribAs4Path::BgpPathAttribAs4Path | ( | BgpLogHandler * | logger | ) | 
Construct a new Bgp Path Attrib As 4 Path:: Bgp Path Attrib As 4 Path object.
| logger | Pointer to logger object for error logging. | 
Definition at line 1052 of file bgp-path-attrib.cc.
References libbgp::BgpPathAttrib::optional, libbgp::BgpPathAttrib::transitive, and libbgp::BgpPathAttrib::type_code.
| 
 | virtual | 
Clone the attribute.
| has_error | There's error in the attribute and the attribute can not be clone. | 
Reimplemented from libbgp::BgpPathAttrib.
Definition at line 1089 of file bgp-path-attrib.cc.
References libbgp::Serializable::hasError(), and libbgp::BgpLogHandler::log().
| 
 | virtual | 
Print implementation.
| indent | indent level. | 
| to | The pointer to the pointer to the string buffer. | 
| buf_sz | The pointer to the counter of avaliable buffer space. | 
| -1 | Failed to print. | 
| >= | 0 Bytes written. | 
Reimplemented from libbgp::BgpPathAttrib.
Definition at line 1058 of file bgp-path-attrib.cc.
References libbgp::Serializable::_print(), as4_paths, and libbgp::BgpPathAttrib::printFlags().
| 
 | virtual | 
Get size in bytes required to serialize the object.
| -1 | Failed to get size. | 
| >=0 | Size in btyes. | 
Reimplemented from libbgp::BgpPathAttrib.
Definition at line 1158 of file bgp-path-attrib.cc.
References as4_paths.
| 
 | virtual | 
Deserialize a BGP update message path attribute.
| from | Pointer to message body buffer. | 
| msg_sz | Size of message. | 
| -1 | Deserialization error. Error may be logged. | 
| >=0 | Bytes read. | 
| bad_parse | Internal deserialization error. | 
| bad_type | The type of message/field member in buffer does not match the attribute type of container. | 
Reimplemented from libbgp::BgpPathAttrib.
Definition at line 1097 of file bgp-path-attrib.cc.
References libbgp::BgpPathAttrib::parseHeader(), and libbgp::BgpPathAttrib::type_code.
| bool libbgp::BgpPathAttribAs4Path::prepend | ( | uint32_t | asn | ) | 
Prepend an ASN into AS4 path.
This method will prepend an ASN to AS_SEQUENCE segment if the segment is the first in path. A new AS_SEQUENCE will be create and append to AS_PATH otherwise. A new AS_SEQUENCE will also be create if the current one is full.
| asn | The ASN to append. | 
Definition at line 1191 of file bgp-path-attrib.cc.
References as4_paths, and libbgp::BgpAsPathSegment::type.
| 
 | virtual | 
Serialize a BGP update message path attribute.
| to | Pointer to destination buffer. | 
| buf_sz | Max write size. | 
| -1 | Serialization error. Error may be logged. | 
| >=0 | Bytes written. | 
Reimplemented from libbgp::BgpPathAttrib.
Definition at line 1221 of file bgp-path-attrib.cc.
References libbgp::BgpLogHandler::log().
 1.8.13
 1.8.13