24 static_assert(
sizeof(mpls_header) == 4,
"mpls_header size is not 4 bytes");
26 mpls_header* getMplsHeader()
const
28 return reinterpret_cast<mpls_header*
>(m_Data);
38 :
Layer(data, dataLen, prevLayer, packet,
MPLS)
47 MplsLayer(uint32_t mplsLabel, uint8_t ttl, uint8_t experimentalUseValue,
bool bottomOfStack);
54 return getMplsHeader()->ttl;
61 getMplsHeader()->ttl = ttl;
96 return sizeof(mpls_header);
Definition: MplsLayer.h:14
uint8_t getTTL() const
Definition: MplsLayer.h:52
bool setMplsLabel(uint32_t label)
void parseNextLayer() override
Currently identifies the following next layers: IPv4Layer, IPv6Layer, MplsLayer. Otherwise sets Paylo...
uint8_t getExperimentalUseValue() const
bool setExperimentalUseValue(uint8_t val)
void computeCalculateFields() override
MplsLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: MplsLayer.h:37
void setTTL(uint8_t ttl)
Definition: MplsLayer.h:59
OsiModelLayer getOsiModelLayer() const override
Definition: MplsLayer.h:105
size_t getHeaderLen() const override
Definition: MplsLayer.h:94
bool isBottomOfStack() const
uint32_t getMplsLabel() const
void setBottomOfStack(bool val)
MplsLayer(uint32_t mplsLabel, uint8_t ttl, uint8_t experimentalUseValue, bool bottomOfStack)
std::string toString() const override
The main namespace for the PcapPlusPlus lib.
const ProtocolType MPLS
MPLS protocol.
Definition: ProtocolType.h:71
OsiModelLayer
An enum representing OSI model layers.
Definition: ProtocolType.h:225
@ OsiModelNetworkLayer
Network layer (layer 3)
Definition: ProtocolType.h:231