A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lena-x2-handover.cc File Reference
#include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/internet-module.h"
#include "ns3/mobility-module.h"
#include "ns3/lte-module.h"
#include "ns3/applications-module.h"
#include "ns3/point-to-point-module.h"
#include "ns3/config-store-module.h"
+ Include dependency graph for lena-x2-handover.cc:

Go to the source code of this file.

Functions

int main (int argc, char *argv[])
 Sample simulation script for a X2-based handover. More...
 
void NotifyConnectionEstablishedEnb (std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
 
void NotifyConnectionEstablishedUe (std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
 
void NotifyHandoverEndOkEnb (std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
 
void NotifyHandoverEndOkUe (std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
 
void NotifyHandoverStartEnb (std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti, uint16_t targetCellId)
 
void NotifyHandoverStartUe (std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti, uint16_t targetCellId)
 

Function Documentation

int main ( int  argc,
char *  argv[] 
)

Sample simulation script for a X2-based handover.

It instantiates two eNodeB, attaches one UE to the 'source' eNB and triggers a handover of the UE towards the 'target' eNB.

Definition at line 123 of file lena-x2-handover.cc.

References ns3::LteHelper::ActivateDedicatedEpsBearer(), ns3::ListPositionAllocator::Add(), ns3::EpcTft::Add(), ns3::ApplicationContainer::Add(), ns3::Ipv4StaticRouting::AddNetworkRouteTo(), ns3::CommandLine::AddValue(), ns3::LteHelper::AddX2Interface(), ns3::Ipv4AddressHelper::Assign(), ns3::LteHelper::Attach(), first::clientApps, ns3::Config::Connect(), ns3::NodeContainer::Create(), ns3::Simulator::Destroy(), ns3::LteHelper::EnableMacTraces(), ns3::LteHelper::EnablePdcpTraces(), ns3::LteHelper::EnablePhyTraces(), ns3::LteHelper::EnableRlcTraces(), ns3::NetDeviceContainer::Get(), ns3::NodeContainer::Get(), ns3::Ipv4InterfaceContainer::GetAddress(), ns3::Ipv4Address::GetAny(), ns3::NodeContainer::GetN(), ns3::Object::GetObject(), ns3::LteHelper::GetPdcpStats(), ns3::LteHelper::GetRlcStats(), ns3::Ipv4StaticRoutingHelper::GetStaticRouting(), ns3::UniformRandomVariable::GetValue(), ns3::LteHelper::HandoverRequest(), ns3::PacketSinkHelper::Install(), ns3::PointToPointHelper::Install(), ns3::InternetStackHelper::Install(), ns3::UdpClientHelper::Install(), ns3::MobilityHelper::Install(), ns3::LteHelper::InstallEnbDevice(), ns3::LteHelper::InstallUeDevice(), ns3::EpcTft::PacketFilter::localPortStart, ns3::MakeCallback(), ns3::EpsBearer::NGBR_VIDEO_TCP_DEFAULT, NotifyConnectionEstablishedEnb(), NotifyConnectionEstablishedUe(), NotifyHandoverEndOkEnb(), NotifyHandoverEndOkUe(), NotifyHandoverStartEnb(), NotifyHandoverStartUe(), NS_LOG_LOGIC, ns3::CommandLine::Parse(), ns3::EpcTft::PacketFilter::remotePortEnd, ns3::EpcTft::PacketFilter::remotePortStart, ns3::Simulator::Run(), first::serverApps, ns3::ObjectBase::SetAttribute(), ns3::Ipv4AddressHelper::SetBase(), ns3::PointToPointHelper::SetChannelAttribute(), ns3::Config::SetDefault(), ns3::Ipv4StaticRouting::SetDefaultRoute(), ns3::PointToPointHelper::SetDeviceAttribute(), ns3::LteHelper::SetEpcHelper(), ns3::LteHelper::SetHandoverAlgorithmType(), ns3::MobilityHelper::SetMobilityModel(), ns3::MobilityHelper::SetPositionAllocator(), ns3::LteHelper::SetSchedulerType(), ns3::ApplicationContainer::Start(), startTime, and ns3::Simulator::Stop().

void NotifyConnectionEstablishedEnb ( std::string  context,
uint64_t  imsi,
uint16_t  cellid,
uint16_t  rnti 
)

Definition at line 76 of file lena-x2-handover.cc.

References ns3::Time::GetSeconds(), and ns3::Simulator::Now().

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void NotifyConnectionEstablishedUe ( std::string  context,
uint64_t  imsi,
uint16_t  cellid,
uint16_t  rnti 
)

Definition at line 35 of file lena-x2-handover.cc.

References ns3::Time::GetSeconds(), and ns3::Simulator::Now().

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void NotifyHandoverEndOkEnb ( std::string  context,
uint64_t  imsi,
uint16_t  cellid,
uint16_t  rnti 
)

Definition at line 104 of file lena-x2-handover.cc.

References ns3::Time::GetSeconds(), and ns3::Simulator::Now().

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void NotifyHandoverEndOkUe ( std::string  context,
uint64_t  imsi,
uint16_t  cellid,
uint16_t  rnti 
)

Definition at line 63 of file lena-x2-handover.cc.

References ns3::Time::GetSeconds(), and ns3::Simulator::Now().

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void NotifyHandoverStartEnb ( std::string  context,
uint64_t  imsi,
uint16_t  cellid,
uint16_t  rnti,
uint16_t  targetCellId 
)

Definition at line 89 of file lena-x2-handover.cc.

References ns3::Time::GetSeconds(), and ns3::Simulator::Now().

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void NotifyHandoverStartUe ( std::string  context,
uint64_t  imsi,
uint16_t  cellid,
uint16_t  rnti,
uint16_t  targetCellId 
)

Definition at line 48 of file lena-x2-handover.cc.

References ns3::Time::GetSeconds(), and ns3::Simulator::Now().

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: