|
PcapPlusPlus
Next
|
#include <BgpLayer.h>
Classes | |
| struct | bgp_common_header |
Public Types | |
| enum | BgpMessageType { Open = 1 , Update = 2 , Notification = 3 , Keepalive = 4 , RouteRefresh = 5 } |
| An enum representing BGP message types. More... | |
Public Member Functions | |
| virtual BgpMessageType | getBgpMessageType () const =0 |
| std::string | getMessageTypeAsString () const |
| size_t | getHeaderLen () const override |
| void | parseNextLayer () override |
| std::string | toString () const override |
| OsiModelLayer | getOsiModelLayer () const override |
| void | computeCalculateFields () override |
Public Member Functions inherited from pcpp::Layer | |
| ~Layer () override | |
| Layer * | getNextLayer () const |
| Layer * | getPrevLayer () const |
| ProtocolType | getProtocol () const |
| bool | isMemberOfProtocolFamily (ProtocolTypeFamily protocolTypeFamily) const |
| uint8_t * | getData () const |
| size_t | getDataLen () const |
| uint8_t * | getLayerPayload () const |
| size_t | getLayerPayloadSize () const |
| bool | isAllocatedToPacket () const |
| void | copyData (uint8_t *toArr) const |
| uint8_t * | getDataPtr (size_t offset=0) const override |
Static Public Member Functions | |
| static bool | isBgpPort (uint16_t portSrc, uint16_t portDst) |
| static BgpLayer * | parseBgpLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet) |
Additional Inherited Members | |
Protected Member Functions inherited from pcpp::Layer | |
| template<typename T , typename... Args> | |
| Layer * | constructNextLayer (uint8_t *data, size_t dataLen, Packet *packet, Args &&... extraArgs) |
| template<typename T , typename TFallback , typename... Args> | |
| Layer * | tryConstructNextLayerWithFallback (uint8_t *data, size_t dataLen, Packet *packet, Args &&... extraArgs) |
Static Protected Member Functions inherited from pcpp::Layer | |
| template<typename T > | |
| static bool | canReinterpretAs (const uint8_t *data, size_t dataLen) |
| Check if the data is large enough to reinterpret as a type. More... | |
Represents Border Gateway Protocol (BGP) v4 protocol layer. This is an abstract class that cannot be instantiated, and contains functionality which is common to all BGP message types.
|
overridevirtual |
Calculates the basic BGP fields:
Implements pcpp::Layer.
|
pure virtual |
Implemented in pcpp::BgpRouteRefreshMessageLayer, pcpp::BgpKeepaliveMessageLayer, pcpp::BgpNotificationMessageLayer, pcpp::BgpUpdateMessageLayer, and pcpp::BgpOpenMessageLayer.
|
overridevirtual |
Implements pcpp::Layer.
| std::string pcpp::BgpLayer::getMessageTypeAsString | ( | ) | const |
|
inlineoverridevirtual |
Implements pcpp::Layer.
|
inlinestatic |
A static method that checks whether a source or dest port match those associated with the BGP protocol
| [in] | portSrc | Source port number to check |
| [in] | portDst | Dest port number to check |
|
static |
A method that creates a BGP layer from packet raw data
| [in] | data | A pointer to the raw data |
| [in] | dataLen | Size of the data in bytes |
| [in] | prevLayer | A pointer to the previous layer |
| [in] | packet | A pointer to the Packet instance where layer will be stored |
|
overridevirtual |
Multiple BGP messages can reside in a single packet, and the only layer that can come after a BGP message is another BGP message. This method checks for remaining data and parses it as another BGP layer
Implements pcpp::Layer.
|
overridevirtual |
Implements pcpp::Layer.