A Discrete-Event Network Simulator
API
ns3::EpcTft Class Reference

This class implements the EPS bearer Traffic Flow Template (TFT), which is the set of all packet filters associated with an EPS bearer. More...

#include "epc-tft.h"

+ Inheritance diagram for ns3::EpcTft:
+ Collaboration diagram for ns3::EpcTft:

Classes

struct  PacketFilter
 Implement the data structure representing a TrafficFlowTemplate Packet Filter. More...
 

Public Types

enum  Direction { DOWNLINK = 1, UPLINK = 2, BIDIRECTIONAL = 3 }
 Indicates the direction of the traffic that is to be classified. More...
 

Public Member Functions

 EpcTft ()
 
uint8_t Add (PacketFilter f)
 add a PacketFilter to the Traffic Flow Template More...
 
std::list< PacketFilterGetPacketFilters () const
 
bool Matches (Direction direction, Ipv4Address remoteAddress, Ipv4Address localAddress, uint16_t remotePort, uint16_t localPort, uint8_t typeOfService)
 
bool Matches (Direction direction, Ipv6Address remoteAddress, Ipv6Address localAddress, uint16_t remotePort, uint16_t localPort, uint8_t typeOfService)
 
- Public Member Functions inherited from ns3::SimpleRefCount< EpcTft >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 

Static Public Member Functions

static Ptr< EpcTftDefault ()
 creates a TFT matching any traffic More...
 

Private Attributes

std::list< PacketFilterm_filters
 packet filter list More...
 
uint8_t m_numFilters
 number of packet filters applied to this TFT More...
 

Detailed Description

This class implements the EPS bearer Traffic Flow Template (TFT), which is the set of all packet filters associated with an EPS bearer.

Definition at line 41 of file epc-tft.h.

Member Enumeration Documentation

◆ Direction

Indicates the direction of the traffic that is to be classified.

Enumerator
DOWNLINK 
UPLINK 
BIDIRECTIONAL 

Definition at line 57 of file epc-tft.h.

Constructor & Destructor Documentation

◆ EpcTft()

ns3::EpcTft::EpcTft ( )

Definition at line 233 of file epc-tft.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ Add()

uint8_t ns3::EpcTft::Add ( PacketFilter  f)

add a PacketFilter to the Traffic Flow Template

Parameters
fthe PacketFilter to be added
Returns
the id( 0 <= id < 16) of the newly added filter, if the addition was successful. Will fail if you try to add more than 15 filters. This is to be compliant with TS 24.008.

Definition at line 240 of file epc-tft.cc.

References f(), m_filters, m_numFilters, NS_ABORT_IF, and NS_LOG_FUNCTION.

Referenced by LteX2HandoverTestCase::DoRun(), LteRadioLinkFailureTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteEpcE2eDataTestCase::DoRun(), LteDistributedFfrAreaTestCase::DoRun(), and EpcTftClassifierTestSuite::EpcTftClassifierTestSuite().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Default()

Ptr< EpcTft > ns3::EpcTft::Default ( void  )
static

creates a TFT matching any traffic

Returns
a newly created TFT that will match any traffic

Definition at line 224 of file epc-tft.cc.

Referenced by ns3::LteHelper::Attach(), and ns3::LenaDeactivateBearerTestCase::DoRun().

+ Here is the caller graph for this function:

◆ GetPacketFilters()

std::list< EpcTft::PacketFilter > ns3::EpcTft::GetPacketFilters ( ) const

Definition at line 299 of file epc-tft.cc.

References m_filters, and NS_LOG_FUNCTION.

◆ Matches() [1/2]

bool ns3::EpcTft::Matches ( Direction  direction,
Ipv4Address  remoteAddress,
Ipv4Address  localAddress,
uint16_t  remotePort,
uint16_t  localPort,
uint8_t  typeOfService 
)
Parameters
direction
remoteAddress
localAddress
remotePort
localPort
typeOfService
Returns
true if any PacketFilter in the TFT matches with the parameters, false otherwise.

Definition at line 257 of file epc-tft.cc.

References m_filters, and NS_LOG_FUNCTION.

◆ Matches() [2/2]

bool ns3::EpcTft::Matches ( Direction  direction,
Ipv6Address  remoteAddress,
Ipv6Address  localAddress,
uint16_t  remotePort,
uint16_t  localPort,
uint8_t  typeOfService 
)
Parameters
direction
remoteAddress
localAddress
remotePort
localPort
typeOfService
Returns
true if any PacketFilter in the TFT matches with the parameters, false otherwise.

Definition at line 278 of file epc-tft.cc.

References m_filters, and NS_LOG_FUNCTION.

Member Data Documentation

◆ m_filters

std::list<PacketFilter> ns3::EpcTft::m_filters
private

packet filter list

Definition at line 202 of file epc-tft.h.

Referenced by Add(), GetPacketFilters(), and Matches().

◆ m_numFilters

uint8_t ns3::EpcTft::m_numFilters
private

number of packet filters applied to this TFT

Definition at line 203 of file epc-tft.h.

Referenced by Add().


The documentation for this class was generated from the following files: