A Discrete-Event Network Simulator
API
ns3::EpcPgwApplication::UeInfo Class Reference

store info for each UE connected to this PGW More...

+ Inheritance diagram for ns3::EpcPgwApplication::UeInfo:
+ Collaboration diagram for ns3::EpcPgwApplication::UeInfo:

Public Member Functions

 UeInfo ()
 
void AddBearer (uint8_t bearerId, uint32_t teid, Ptr< EpcTft > tft)
 Add a bearer for this UE on PGW side. More...
 
uint32_t Classify (Ptr< Packet > p, uint16_t protocolNumber)
 Classify the packet according to TFTs of this UE. More...
 
Ipv4Address GetSgwAddr ()
 Get the address of the SGW to which the UE is connected. More...
 
Ipv4Address GetUeAddr ()
 Get the IPv4 address of the UE. More...
 
Ipv6Address GetUeAddr6 ()
 Get the IPv6 address of the UE. More...
 
void RemoveBearer (uint8_t bearerId)
 Delete context of bearer for this UE on PGW side. More...
 
void SetSgwAddr (Ipv4Address addr)
 Set the address of the eNB to which the UE is connected. More...
 
void SetUeAddr (Ipv4Address addr)
 Set the IPv4 address of the UE. More...
 
void SetUeAddr6 (Ipv6Address addr)
 Set the IPv6 address of the UE. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< UeInfo >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o[[maybe_unused]])
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= ([[maybe_unused]] const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 

Private Attributes

Ipv4Address m_sgwAddr
 SGW IPv4 address. More...
 
std::map< uint8_t, uint32_t > m_teidByBearerIdMap
 TEID By bearer ID Map. More...
 
EpcTftClassifier m_tftClassifier
 TFT classifier. More...
 
Ipv4Address m_ueAddr
 UE IPv4 address. More...
 
Ipv6Address m_ueAddr6
 UE IPv6 address. More...
 

Detailed Description

store info for each UE connected to this PGW

Definition at line 195 of file epc-pgw-application.h.

Constructor & Destructor Documentation

◆ UeInfo()

ns3::EpcPgwApplication::UeInfo::UeInfo ( )

Definition at line 43 of file epc-pgw-application.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ AddBearer()

void ns3::EpcPgwApplication::UeInfo::AddBearer ( uint8_t  bearerId,
uint32_t  teid,
Ptr< EpcTft tft 
)

Add a bearer for this UE on PGW side.

Parameters
bearerIdthe ID of the EPS Bearer to be activated
teidthe TEID of the new bearer
tftthe Traffic Flow Template of the new bearer to be added

Definition at line 49 of file epc-pgw-application.cc.

References NS_LOG_FUNCTION.

◆ Classify()

uint32_t ns3::EpcPgwApplication::UeInfo::Classify ( Ptr< Packet p,
uint16_t  protocolNumber 
)

Classify the packet according to TFTs of this UE.

Parameters
pthe IPv4 or IPv6 packet from the internet to be classified
protocolNumberidentifies the type of packet. Only IPv4 and IPv6 packets are allowed.
Returns
the corresponding bearer ID > 0 identifying the bearer among all the bearers of this UE; returns 0 if no bearers matches with the previously declared TFTs

Definition at line 66 of file epc-pgw-application.cc.

References ns3::EpcTft::DOWNLINK, and NS_LOG_FUNCTION.

◆ GetSgwAddr()

Ipv4Address ns3::EpcPgwApplication::UeInfo::GetSgwAddr ( )

Get the address of the SGW to which the UE is connected.

Returns
the address of the SGW

Definition at line 76 of file epc-pgw-application.cc.

◆ GetUeAddr()

Ipv4Address ns3::EpcPgwApplication::UeInfo::GetUeAddr ( )

Get the IPv4 address of the UE.

Returns
the IPv4 address of the UE

Definition at line 88 of file epc-pgw-application.cc.

◆ GetUeAddr6()

Ipv6Address ns3::EpcPgwApplication::UeInfo::GetUeAddr6 ( )

Get the IPv6 address of the UE.

Returns
the IPv6 address of the UE

Definition at line 100 of file epc-pgw-application.cc.

◆ RemoveBearer()

void ns3::EpcPgwApplication::UeInfo::RemoveBearer ( uint8_t  bearerId)

Delete context of bearer for this UE on PGW side.

Parameters
bearerIdthe ID of the EPS Bearer whose contexts is to be removed

Definition at line 57 of file epc-pgw-application.cc.

References NS_LOG_FUNCTION.

◆ SetSgwAddr()

void ns3::EpcPgwApplication::UeInfo::SetSgwAddr ( Ipv4Address  addr)

Set the address of the eNB to which the UE is connected.

Parameters
addrthe address of the SGW

Definition at line 82 of file epc-pgw-application.cc.

◆ SetUeAddr()

void ns3::EpcPgwApplication::UeInfo::SetUeAddr ( Ipv4Address  addr)

Set the IPv4 address of the UE.

Parameters
addrthe IPv4 address of the UE

Definition at line 94 of file epc-pgw-application.cc.

◆ SetUeAddr6()

void ns3::EpcPgwApplication::UeInfo::SetUeAddr6 ( Ipv6Address  addr)

Set the IPv6 address of the UE.

Parameters
addrthe IPv6 address of the UE

Definition at line 106 of file epc-pgw-application.cc.

Member Data Documentation

◆ m_sgwAddr

Ipv4Address ns3::EpcPgwApplication::UeInfo::m_sgwAddr
private

SGW IPv4 address.

Definition at line 274 of file epc-pgw-application.h.

◆ m_teidByBearerIdMap

std::map<uint8_t, uint32_t> ns3::EpcPgwApplication::UeInfo::m_teidByBearerIdMap
private

TEID By bearer ID Map.

Definition at line 276 of file epc-pgw-application.h.

◆ m_tftClassifier

EpcTftClassifier ns3::EpcPgwApplication::UeInfo::m_tftClassifier
private

TFT classifier.

Definition at line 275 of file epc-pgw-application.h.

◆ m_ueAddr

Ipv4Address ns3::EpcPgwApplication::UeInfo::m_ueAddr
private

UE IPv4 address.

Definition at line 272 of file epc-pgw-application.h.

◆ m_ueAddr6

Ipv6Address ns3::EpcPgwApplication::UeInfo::m_ueAddr6
private

UE IPv6 address.

Definition at line 273 of file epc-pgw-application.h.


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