12#include "ns3/ipv4-address.h"
56 switch ((*iter)->GetType())
63 NS_FATAL_ERROR(
"ToS Not implemented-- please implement and contribute a patch");
223 if (
srcAddress.CombineMask((*iter).Mask) == (*iter).Address)
239 if (
dstAddress.CombineMask((*iter).Mask) == (*iter).Address)
253 NS_LOG_INFO(
"src port check match: pkt=" <<
port <<
" cls= [" << (*iter).PortLow <<
" TO "
254 << (*iter).PortHigh <<
"]");
255 if (
port >= (*iter).PortLow &&
port <= (*iter).PortHigh)
269 NS_LOG_INFO(
"dst port check match: pkt=" <<
port <<
" cls= [" << (*iter).PortLow <<
" TO "
270 << (*iter).PortHigh <<
"]");
271 if (
port >= (*iter).PortLow &&
port <= (*iter).PortHigh)
this class implements the classifier descriptor as a tlv vector
@ Packet_Classification_Rule
void SetPriority(uint8_t prio)
Set the priority of this classifier.
std::vector< PortRange > m_dstPortRange
destination port range
bool CheckMatchSrcAddr(Ipv4Address srcAddress) const
Check match source address function.
bool CheckMatchProtocol(uint8_t proto) const
Check match protocol function.
uint16_t GetIndex() const
uint8_t GetPriority() const
uint8_t m_tosMask
TOS mask.
void SetIndex(uint16_t index)
Set the index of the classifier.
void AddDstAddr(Ipv4Address dstAddress, Ipv4Mask dstMask)
add a new destination ip address to the classifier
bool CheckMatchSrcPort(uint16_t srcPort) const
Check match source port function.
std::vector< PortRange > m_srcPortRange
source port range
void AddSrcPortRange(uint16_t srcPortLow, uint16_t srcPortHigh)
add a range of source port to the classifier
std::vector< Ipv4Addr > m_dstAddr
destination address
bool CheckMatchDstAddr(Ipv4Address dstAddress) const
Check match destination address function.
Tlv ToTlv() const
Creates a TLV from this classifier.
uint8_t m_priority
priority
bool CheckMatch(Ipv4Address srcAddress, Ipv4Address dstAddress, uint16_t srcPort, uint16_t dstPort, uint8_t proto) const
check if a packets can be used with this classifier
void SetCid(uint16_t cid)
Set the cid associated to this classifier.
void AddDstPortRange(uint16_t dstPortLow, uint16_t dstPortHigh)
add a range of destination port to the classifier
std::vector< uint8_t > m_protocol
protocol
void AddSrcAddr(Ipv4Address srcAddress, Ipv4Mask srcMask)
add a new source ip address to the classifier
std::vector< Ipv4Addr > m_srcAddr
source address
void AddProtocol(uint8_t proto)
add a protocol to the classifier
uint8_t m_tosHigh
TOS high.
bool CheckMatchDstPort(uint16_t dstPort) const
Check match destination port function.
Ipv4 addresses are stored in host order in this class.
Ipv4AddressTlvValue class.
void Add(Ipv4Address address, Ipv4Mask mask)
Add IPv4 address and mask.
a class to represent an Ipv4 address mask
void Add(uint16_t portLow, uint16_t portHigh)
Add a range.
void Add(uint8_t protocol)
Add protocol number.
This class implements the Type-Len-Value structure channel encodings as described by "IEEE Standard f...
void Add(const Tlv &val)
Add a TLV.
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_INFO(msg)
Use NS_LOG to output a message of level LOG_INFO.
Ptr< T > Create(Ts &&... args)
Create class instances by constructors with varying numbers of arguments and return them by Ptr.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Ipv4Address Address
IP address.