PcapPlusPlus
Next
|
#include <GreLayer.h>
Public Member Functions | |
bool | getSequenceNumber (uint32_t &seqNumber) const |
bool | setSequenceNumber (uint32_t seqNumber) |
bool | unsetSequenceNumber () |
void | parseNextLayer () override |
size_t | getHeaderLen () const override |
OsiModelLayer | getOsiModelLayer () const 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 |
virtual void | computeCalculateFields ()=0 |
virtual std::string | toString () const =0 |
Static Public Member Functions | |
static ProtocolType | getGREVersion (uint8_t *greData, size_t greDataLen) |
Abstract base class for GRE layers (GREv0Layer and GREv1Layer). Cannot be instantiated and contains common logic for derived classes
|
static |
A static method that determines the GRE version of GRE layer raw data by looking at the gre_basic_header::version field
[in] | greData | GRE layer raw data |
[in] | greDataLen | Size of raw data |
|
overridevirtual |
Implements pcpp::Layer.
|
inlineoverridevirtual |
Implements pcpp::Layer.
bool pcpp::GreLayer::getSequenceNumber | ( | uint32_t & | seqNumber | ) | const |
Get sequence number value if field exists in layer
[out] | seqNumber | The returned sequence number value if exists in layer. Else remain unchanged |
|
overridevirtual |
Currently identifies the following next layers: IPv4Layer, IPv6Layer, VlanLayer, MplsLayer, PPP_PPTPLayer, EthLayer, EthDot3Layer Otherwise sets PayloadLayer
Implements pcpp::Layer.
bool pcpp::GreLayer::setSequenceNumber | ( | uint32_t | seqNumber | ) |
Set sequence number value. If field already exists (gre_basic_header::sequenceNumBit is set) then only the new value is set. If field doesn't exist it will be added to the layer, gre_basic_header::sequenceNumBit will be set and the new value will be set
[in] | seqNumber | The sequence number value to set |
bool pcpp::GreLayer::unsetSequenceNumber | ( | ) |
Unset sequence number and remove it from the layer