PcapPlusPlus  Next
pcpp::EtherTypeFilter Class Reference

#include <PcapFilter.h>

Inheritance diagram for pcpp::EtherTypeFilter:
pcpp::GeneralFilter

Public Member Functions

 EtherTypeFilter (uint16_t etherType)
 
void parseToString (std::string &result) const override
 
void setEtherType (uint16_t etherType)
 
- Public Member Functions inherited from pcpp::GeneralFilter
virtual ~GeneralFilter ()=default
 Virtual destructor, frees the bpf program.
 
bool matchPacketWithFilter (RawPacket *rawPacket) const
 
bool matches (RawPacket const &rawPacket) const
 Match a raw packet against the filter. More...
 

Additional Inherited Members

- Protected Member Functions inherited from pcpp::GeneralFilter
bool cacheFilter () const
 Parse the filter and cache the compiled BPF program. More...
 
void invalidateCache () const
 Invalidate the cached BPF program. This method should be called whenever the filter changes.
 

Detailed Description

A class for filtering by EtherType field of the Ethernet protocol. This enables to filter packets from certain protocols, such as ARP, IPv4, IPv6, VLAN tags, etc.

For deeper understanding of the filter concept please refer to PcapFilter.h

Constructor & Destructor Documentation

◆ EtherTypeFilter()

pcpp::EtherTypeFilter::EtherTypeFilter ( uint16_t  etherType)
inlineexplicit

A constructor that gets the EtherType and creates the filter with it

Parameters
[in]etherTypeThe EtherType value to create the filter with

Member Function Documentation

◆ parseToString()

void pcpp::EtherTypeFilter::parseToString ( std::string &  result) const
overridevirtual

A method that parses the class instance into BPF string format

Parameters
[out]resultAn empty string that the parsing will be written into. If the string isn't empty, its content will be overridden

Implements pcpp::GeneralFilter.

◆ setEtherType()

void pcpp::EtherTypeFilter::setEtherType ( uint16_t  etherType)
inline

Set the EtherType value

Parameters
[in]etherTypeThe EtherType value to create the filter with