29 static_assert(
sizeof(
vlan_header) == 4,
"vlan_header size is not 4 bytes");
42 :
Layer(data, dataLen, prevLayer, packet,
VLAN)
51 VlanLayer(
const uint16_t vlanID,
bool cfi, uint8_t priority, uint16_t etherType = 0);
121 return canReinterpretAs<vlan_header>(data, dataLen);
130 static std::vector<FieldDescriptor>
all()
134 std::copy(extra.begin(), extra.end(), std::back_inserter(result));
Definition: Serializers.h:230
Definition: VlanLayer.h:34
std::string toString() const override
uint16_t getVlanID() const
static bool isDataValid(const uint8_t *data, size_t dataLen)
Definition: VlanLayer.h:119
VlanLayer(const uint16_t vlanID, bool cfi, uint8_t priority, uint16_t etherType=0)
void parseNextLayer() override
uint8_t getPriority() const
VlanLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: VlanLayer.h:41
vlan_header * getVlanHeader() const
Definition: VlanLayer.h:58
void setPriority(uint8_t priority)
OsiModelLayer getOsiModelLayer() const override
Definition: VlanLayer.h:110
size_t getHeaderLen() const override
Definition: VlanLayer.h:100
void computeCalculateFields() override
Calculate the EtherType for known protocols: IPv4, IPv6, ARP, VLAN.
void serializeLayer(ObjectScope &serializer) const override
void setVlanID(uint16_t id)
const ProtocolType VLAN
VLAN protocol.
Definition: ProtocolType.h:78
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: VlanLayer.h:128
static const FieldDescriptor VlanID
VLAN identifier (12 bits)
Definition: VlanLayer.h:139
static const FieldDescriptor CFI
Canonical Format Indicator / Drop Eligible Indicator bit.
Definition: VlanLayer.h:142
static std::vector< FieldDescriptor > all()
Definition: VlanLayer.h:130
static const FieldDescriptor EtherType
EtherType, in host byte order (e.g. 2048 for IPv4)
Definition: VlanLayer.h:148
static const FieldDescriptor Priority
Priority Code Point.
Definition: VlanLayer.h:145