16 #if (BYTE_ORDER == LITTLE_ENDIAN)
65 static_assert(
sizeof(
vxlan_header) == 8,
"vxlan_header size is not 8 bytes");
78 :
Layer(data, dataLen, prevLayer, packet,
VXLAN)
88 explicit VxlanLayer(uint32_t vni = 0, uint16_t groupPolicyID = 0,
bool setGbpFlag =
false,
89 bool setPolicyAppliedFlag =
false,
bool setDontLearnFlag =
false);
99 return canReinterpretAs<vxlan_header>(data, dataLen);
152 static std::vector<FieldDescriptor>
all()
156 std::copy(extra.begin(), extra.end(), std::back_inserter(result));
Definition: Serializers.h:230
Definition: VxlanLayer.h:70
static bool isDataValid(uint8_t const *data, size_t dataLen)
Definition: VxlanLayer.h:97
void computeCalculateFields() override
Does nothing for this layer.
Definition: VxlanLayer.h:136
std::string toString() const override
vxlan_header * getVxlanHeader() const
Definition: VxlanLayer.h:105
void parseNextLayer() override
Next layer for VXLAN is always Ethernet.
OsiModelLayer getOsiModelLayer() const override
Definition: VxlanLayer.h:141
VxlanLayer(uint32_t vni=0, uint16_t groupPolicyID=0, bool setGbpFlag=false, bool setPolicyAppliedFlag=false, bool setDontLearnFlag=false)
static bool isVxlanPort(uint16_t port)
Definition: VxlanLayer.h:119
void serializeLayer(ObjectScope &serializer) const override
size_t getHeaderLen() const override
Definition: VxlanLayer.h:130
void setVNI(uint32_t vni)
VxlanLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: VxlanLayer.h:77
const ProtocolType VXLAN
VXLAN protocol.
Definition: ProtocolType.h:138
The main namespace for the PcapPlusPlus lib.
Definition: AssertionUtils.h:19
OsiModelLayer
An enum representing OSI model layers.
Definition: ProtocolType.h:420
@ OsiModelDataLinkLayer
Data link layer (layer 2)
Definition: ProtocolType.h:424
Definition: Serializers.h:18
static std::vector< FieldDescriptor > all()
Definition: Layer.h:214
Definition: VxlanLayer.h:150
static const FieldDescriptor ValidVNI
True if the "valid VNI" flag (I bit) is set.
Definition: VxlanLayer.h:161
static const FieldDescriptor GroupPolicyID
Group Policy ID (VXLAN-GBP extension)
Definition: VxlanLayer.h:164
static std::vector< FieldDescriptor > all()
Definition: VxlanLayer.h:152
static const FieldDescriptor VNI
VXLAN Network Identifier (24 bits)
Definition: VxlanLayer.h:167