LTE:Can i have 2 pgw in the same simulation.

271 views
Skip to first unread message

Rajvardhan Deshmukh

unread,
May 25, 2017, 1:31:42 PM5/25/17
to ns-3-users
Is it possible to have 2 pgw's in the same simulation?

As the pgw object can be accessed by a ltehelper object:
Ptr<Node> pgwCar = epcCarHelper->GetPgwNode ();

I tried to make 2 epc helper's and corresponding Lte helpers

   Ptr<LteHelper> lteCarHelper = CreateObject<LteHelper> ();
   Ptr<PointToPointEpcHelper> epcCarHelper = CreateObject<PointToPointEpcHelper> ();
   lteCarHelper->SetEpcHelper (epcCarHelper);//tell LTE Helper EPC will be used(for internet connection)
   //\epcHelper
//car side
  Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();
  Ptr<PointToPointEpcHelper> epcHelper = CreateObject<PointToPointEpcHelper> ();
  lteHelper->SetEpcHelper (epcHelper);//tell LTE Helper EPC will be used(for internet connection)
//\epcHelper


The code compiled with ./waf, but during execution it gave SIGIOT
with gdb i observed that the error occurs when i SetEPCHelper for the second time.
Any guidance or modification in the code are welcome.

Thanks,
Raj

Tommaso Pecorella

unread,
May 27, 2017, 12:15:29 PM5/27/17
to ns-3-users
Hi,

I could be wrong, but I think it's a limitation in the actual LteHelper class.
Please share a full (non working) script.

T.

Rajvardhan Deshmukh

unread,
May 30, 2017, 9:53:56 AM5/30/17
to ns-3-users
Hi,
steps2nd.cc

Tommaso Pecorella

unread,
Jul 7, 2017, 6:40:09 PM7/7/17
to ns-3-users
Hi,

yes, it's a limitation of the LTE module. Please get in touch with the LTE maintainers, perhaps they can remove it in the next release.
As a side note, the problem is in this part of code:
PointToPointEpcHelper::PointToPointEpcHelper ()
 
: m_gtpuUdpPort (2152)  // fixed by the standard
{
  NS_LOG_FUNCTION
(this);

 
// since we use point-to-point links for all S1-U links,
 
// we use a /30 subnet which can hold exactly two addresses
 
// (remember that net broadcast and null address are not valid)
  m_s1uIpv4AddressHelper
.SetBase ("10.0.0.0", "255.255.255.252");

  m_x2Ipv4AddressHelper
.SetBase ("12.0.0.0", "255.255.255.252");

 
// we use a /8 net for all UEs
  m_ueAddressHelper
.SetBase ("7.0.0.0", "255.0.0.0");

As you can see, if you use the helper twice, you'll end up with address conflicts.


T.

Michele Polese

unread,
Jul 8, 2017, 8:11:25 AM7/8/17
to ns-3-users
Hi all,
I solved this for a similar issue I had by adding the S1U, X2 and UE IP address as attributes and changing them in the main script for each PGW I installed.
Another issue might be related to the cellIds and IMSIs, since they are used to connect to callbacks in the RadioBearerStatsConnector class. I also changed the first cellId and IMSI available to each LteHelper to have non-overlapping cellIds and IMSIs (once again by adding two Attributes). 
However, notice that by adding two LteHelper objects you don't have a cellular network with the same core network and two PGWs, but two completely independent networks.
Michele
Reply all
Reply to author
Forward
0 new messages