store info for each UE connected to this PGW More...
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 () const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o[[maybe_unused]]) |
Assignment operator. More... | |
void | Ref () const |
Increment the reference count. More... | |
void | Unref () 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... | |
store info for each UE connected to this PGW
Definition at line 196 of file epc-pgw-application.h.
ns3::EpcPgwApplication::UeInfo::UeInfo | ( | ) |
Definition at line 44 of file epc-pgw-application.cc.
References NS_LOG_FUNCTION.
void ns3::EpcPgwApplication::UeInfo::AddBearer | ( | uint8_t | bearerId, |
uint32_t | teid, | ||
Ptr< EpcTft > | tft | ||
) |
Add a bearer for this UE on PGW side.
bearerId | the ID of the EPS Bearer to be activated |
teid | the TEID of the new bearer |
tft | the Traffic Flow Template of the new bearer to be added |
Definition at line 50 of file epc-pgw-application.cc.
References NS_LOG_FUNCTION.
Classify the packet according to TFTs of this UE.
p | the IPv4 or IPv6 packet from the internet to be classified |
protocolNumber | identifies the type of packet. Only IPv4 and IPv6 packets are allowed. |
Definition at line 67 of file epc-pgw-application.cc.
References ns3::EpcTft::DOWNLINK, and NS_LOG_FUNCTION.
Ipv4Address ns3::EpcPgwApplication::UeInfo::GetSgwAddr | ( | ) |
Get the address of the SGW to which the UE is connected.
Definition at line 77 of file epc-pgw-application.cc.
Ipv4Address ns3::EpcPgwApplication::UeInfo::GetUeAddr | ( | ) |
Get the IPv4 address of the UE.
Definition at line 89 of file epc-pgw-application.cc.
Ipv6Address ns3::EpcPgwApplication::UeInfo::GetUeAddr6 | ( | ) |
Get the IPv6 address of the UE.
Definition at line 101 of file epc-pgw-application.cc.
void ns3::EpcPgwApplication::UeInfo::RemoveBearer | ( | uint8_t | bearerId | ) |
Delete context of bearer for this UE on PGW side.
bearerId | the ID of the EPS Bearer whose contexts is to be removed |
Definition at line 58 of file epc-pgw-application.cc.
References NS_LOG_FUNCTION.
void ns3::EpcPgwApplication::UeInfo::SetSgwAddr | ( | Ipv4Address | addr | ) |
Set the address of the eNB to which the UE is connected.
addr | the address of the SGW |
Definition at line 83 of file epc-pgw-application.cc.
void ns3::EpcPgwApplication::UeInfo::SetUeAddr | ( | Ipv4Address | addr | ) |
Set the IPv4 address of the UE.
addr | the IPv4 address of the UE |
Definition at line 95 of file epc-pgw-application.cc.
void ns3::EpcPgwApplication::UeInfo::SetUeAddr6 | ( | Ipv6Address | addr | ) |
Set the IPv6 address of the UE.
addr | the IPv6 address of the UE |
Definition at line 107 of file epc-pgw-application.cc.
|
private |
SGW IPv4 address.
Definition at line 275 of file epc-pgw-application.h.
|
private |
TEID By bearer ID Map.
Definition at line 277 of file epc-pgw-application.h.
|
private |
TFT classifier.
Definition at line 276 of file epc-pgw-application.h.
|
private |
UE IPv4 address.
Definition at line 273 of file epc-pgw-application.h.
|
private |
UE IPv6 address.
Definition at line 274 of file epc-pgw-application.h.