32 static_assert(
sizeof(
sll_header) == 16,
"sll_header size is not 16 bytes");
49 SllLayer(uint16_t packetType, uint16_t ARPHRDType);
98 static std::vector<FieldDescriptor>
all()
103 std::copy(extra.begin(), extra.end(), std::back_inserter(result));
Definition: MacAddress.h:24
Definition: Serializers.h:230
Definition: SllLayer.h:37
SllLayer(uint16_t packetType, uint16_t ARPHRDType)
bool setMacAddressAsLinkLayer(const MacAddress &macAddr)
size_t getHeaderLen() const override
Definition: SllLayer.h:77
bool setLinkLayerAddr(uint8_t *addr, size_t addrLength)
sll_header * getSllHeader() const
Definition: SllLayer.h:56
std::string toString() const override
void serializeLayer(ObjectScope &serializer) const override
OsiModelLayer getOsiModelLayer() const override
Definition: SllLayer.h:87
void parseNextLayer() override
void computeCalculateFields() override
Calculate the next protocol type for known protocols: IPv4, IPv6, ARP, VLAN.
SllLayer(uint8_t *data, size_t dataLen, Packet *packet)
Definition: SllLayer.h:43
const ProtocolType SLL
SLL (Linux cooked capture) protocol.
Definition: ProtocolType.h:114
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: SllLayer.h:96
static const FieldDescriptor ProtocolType
EtherType of the encapsulated protocol, in host byte order.
Definition: SllLayer.h:114
static const FieldDescriptor LinkLayerAddress
Link-layer address of the sender.
Definition: SllLayer.h:117
static const FieldDescriptor ArpHeaderType
ARPHRD_* link-layer address type (e.g. 1 for Ethernet)
Definition: SllLayer.h:111
static const FieldDescriptor PacketType
Packet type.
Definition: SllLayer.h:108
static std::vector< FieldDescriptor > all()
Definition: SllLayer.h:98