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. | |
| uint32_t | Classify (Ptr< Packet > p, uint16_t protocolNumber) |
| Classify the packet according to TFTs of this UE. | |
| Ipv4Address | GetSgwAddr () |
| Get the address of the SGW to which the UE is connected. | |
| Ipv4Address | GetUeAddr () |
| Get the IPv4 address of the UE. | |
| Ipv6Address | GetUeAddr6 () |
| Get the IPv6 address of the UE. | |
| void | RemoveBearer (uint8_t bearerId) |
| Delete context of bearer for this UE on PGW side. | |
| void | SetSgwAddr (Ipv4Address addr) |
| Set the address of the eNB to which the UE is connected. | |
| void | SetUeAddr (Ipv4Address addr) |
| Set the IPv4 address of the UE. | |
| void | SetUeAddr6 (Ipv6Address addr) |
| Set the IPv6 address of the UE. | |
Public Member Functions inherited from ns3::SimpleRefCount< UeInfo > | |
| SimpleRefCount () | |
| Default constructor. | |
| SimpleRefCount (const SimpleRefCount &o) | |
| Copy constructor. | |
| uint32_t | GetReferenceCount () const |
| Get the reference count of the object. | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) |
| Assignment operator. | |
| void | Ref () const |
| Increment the reference count. | |
| void | Unref () const |
| Decrement the reference count. | |
Private Attributes | |
| Ipv4Address | m_sgwAddr |
| SGW IPv4 address. | |
| std::map< uint8_t, uint32_t > | m_teidByBearerIdMap |
| TEID By bearer ID Map. | |
| EpcTftClassifier | m_tftClassifier |
| TFT classifier. | |
| Ipv4Address | m_ueAddr |
| UE IPv4 address. | |
| Ipv6Address | m_ueAddr6 |
| UE IPv6 address. | |
store info for each UE connected to this PGW
Definition at line 185 of file epc-pgw-application.h.
| ns3::EpcPgwApplication::UeInfo::UeInfo | ( | ) |
Definition at line 33 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 39 of file epc-pgw-application.cc.
References m_teidByBearerIdMap, m_tftClassifier, and 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 59 of file epc-pgw-application.cc.
References ns3::EpcTft::DOWNLINK, m_tftClassifier, and NS_LOG_FUNCTION.
| Ipv4Address ns3::EpcPgwApplication::UeInfo::GetSgwAddr | ( | ) |
Get the address of the SGW to which the UE is connected.
Definition at line 69 of file epc-pgw-application.cc.
References m_sgwAddr.
| Ipv4Address ns3::EpcPgwApplication::UeInfo::GetUeAddr | ( | ) |
Get the IPv4 address of the UE.
Definition at line 81 of file epc-pgw-application.cc.
References m_ueAddr.
| Ipv6Address ns3::EpcPgwApplication::UeInfo::GetUeAddr6 | ( | ) |
Get the IPv6 address of the UE.
Definition at line 93 of file epc-pgw-application.cc.
References m_ueAddr6.
| 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 47 of file epc-pgw-application.cc.
References m_teidByBearerIdMap, m_tftClassifier, and 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 75 of file epc-pgw-application.cc.
References m_sgwAddr.
| void ns3::EpcPgwApplication::UeInfo::SetUeAddr | ( | Ipv4Address | addr | ) |
Set the IPv4 address of the UE.
| addr | the IPv4 address of the UE |
Definition at line 87 of file epc-pgw-application.cc.
References m_ueAddr.
| void ns3::EpcPgwApplication::UeInfo::SetUeAddr6 | ( | Ipv6Address | addr | ) |
Set the IPv6 address of the UE.
| addr | the IPv6 address of the UE |
Definition at line 99 of file epc-pgw-application.cc.
References m_ueAddr6.
|
private |
SGW IPv4 address.
Definition at line 264 of file epc-pgw-application.h.
Referenced by GetSgwAddr(), and SetSgwAddr().
|
private |
TEID By bearer ID Map.
Definition at line 266 of file epc-pgw-application.h.
Referenced by AddBearer(), and RemoveBearer().
|
private |
TFT classifier.
Definition at line 265 of file epc-pgw-application.h.
Referenced by AddBearer(), Classify(), and RemoveBearer().
|
private |
UE IPv4 address.
Definition at line 262 of file epc-pgw-application.h.
Referenced by GetUeAddr(), and SetUeAddr().
|
private |
UE IPv6 address.
Definition at line 263 of file epc-pgw-application.h.
Referenced by GetUeAddr6(), and SetUeAddr6().