classifies IP packets accoding to Traffic Flow Templates (TFTs) More...
#include <epc-tft-classifier.h>
Public Member Functions | |
EpcTftClassifier () | |
void | Add (Ptr< EpcTft > tft, uint32_t id) |
add a TFT to the Classifier More... | |
uint32_t | Classify (Ptr< Packet > p, EpcTft::Direction direction) |
classify an IP packet More... | |
void | Delete (uint32_t id) |
delete an existing TFT from the classifier More... | |
Public Member Functions inherited from ns3::SimpleRefCount< EpcTftClassifier > | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
Protected Attributes | |
std::map< uint32_t, Ptr< EpcTft > > | m_tftMap |
Additional Inherited Members | |
Static Public Member Functions inherited from ns3::SimpleRefCount< EpcTftClassifier > | |
static void | Cleanup (void) |
Noop. More... | |
classifies IP packets accoding to Traffic Flow Templates (TFTs)
Definition at line 43 of file epc-tft-classifier.h.
ns3::EpcTftClassifier::EpcTftClassifier | ( | ) |
Definition at line 43 of file epc-tft-classifier.cc.
References NS_LOG_FUNCTION.
add a TFT to the Classifier
tft | the TFT to be added |
Definition at line 49 of file epc-tft-classifier.cc.
References m_tftMap, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by ns3::EpcUeNas::DoActivateEpsBearer().
uint32_t ns3::EpcTftClassifier::Classify | ( | Ptr< Packet > | p, |
EpcTft::Direction | direction | ||
) |
classify an IP packet
p | the IP packet. It is assumed that the outmost header is an IPv4 header. |
Definition at line 68 of file epc-tft-classifier.cc.
References ns3::Packet::Copy(), ns3::EpcTft::DOWNLINK, ns3::Ipv4Header::GetDestination(), ns3::UdpHeader::GetDestinationPort(), ns3::TcpHeader::GetDestinationPort(), ns3::Ipv4Header::GetProtocol(), ns3::Ipv4Header::GetSource(), ns3::UdpHeader::GetSourcePort(), ns3::TcpHeader::GetSourcePort(), ns3::Ipv4Header::GetTos(), m_tftMap, NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_LOGIC, ns3::UdpL4Protocol::PROT_NUMBER, ns3::TcpL4Protocol::PROT_NUMBER, ns3::Packet::RemoveHeader(), and ns3::EpcTft::UPLINK.
Referenced by ns3::EpcUeNas::Send().
void ns3::EpcTftClassifier::Delete | ( | uint32_t | id | ) |
delete an existing TFT from the classifier
id | the identifier of the TFT to be deleted |
Definition at line 60 of file epc-tft-classifier.cc.
References m_tftMap, and NS_LOG_FUNCTION.
Definition at line 76 of file epc-tft-classifier.h.
Referenced by Add(), Classify(), and Delete().