src/lte/test/lte-simple-helper.cc
author Tom Henderson <tomh@tomh.org>
Mon, 28 Sep 2015 20:27:25 -0700
changeset 11676 05ea1489e509
parent 11322 dcc99192ba63
permissions -rw-r--r--
bug 2184: Integer overflow in MacLow
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     1
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     2
/*
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     3
 * Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     4
 *
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     8
 *
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    12
 * GNU General Public License for more details.
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    13
 *
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    17
 *
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    18
 * Author: Manuel Requena <manuel.requena@cttc.es> (Based on lte-helper.cc)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    19
 */
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    20
8822
49d3a0979d43 fixed Bug 1439 - exclude headers for tests from installation
Nicola Baldo <nbaldo@cttc.es>
parents: 8625
diff changeset
    21
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    22
#include "ns3/log.h"
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    23
#include "ns3/callback.h"
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    24
#include "ns3/config.h"
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    25
#include "ns3/simple-channel.h"
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    26
#include "ns3/error-model.h"
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    27
8822
49d3a0979d43 fixed Bug 1439 - exclude headers for tests from installation
Nicola Baldo <nbaldo@cttc.es>
parents: 8625
diff changeset
    28
#include "lte-simple-helper.h"
49d3a0979d43 fixed Bug 1439 - exclude headers for tests from installation
Nicola Baldo <nbaldo@cttc.es>
parents: 8625
diff changeset
    29
#include "lte-simple-net-device.h"
49d3a0979d43 fixed Bug 1439 - exclude headers for tests from installation
Nicola Baldo <nbaldo@cttc.es>
parents: 8625
diff changeset
    30
#include "lte-test-entities.h"
49d3a0979d43 fixed Bug 1439 - exclude headers for tests from installation
Nicola Baldo <nbaldo@cttc.es>
parents: 8625
diff changeset
    31
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    32
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    33
namespace ns3 {
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    34
10968
2d29fee2b7b8 [Bug 1551] Redux: NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace?
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10652
diff changeset
    35
NS_LOG_COMPONENT_DEFINE ("LteSimpleHelper");
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    36
10652
dc18deba4502 [doxygen] Revert r10410, r10411, r10412
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10410
diff changeset
    37
NS_OBJECT_ENSURE_REGISTERED (LteSimpleHelper);
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    38
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    39
LteSimpleHelper::LteSimpleHelper (void)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    40
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    41
  NS_LOG_FUNCTION (this);
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
    42
  m_enbDeviceFactory.SetTypeId (LteSimpleNetDevice::GetTypeId ());
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
    43
  m_ueDeviceFactory.SetTypeId (LteSimpleNetDevice::GetTypeId ());
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    44
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    45
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    46
void
9703
681f35b212ff Rename Start and DoStart methods to Initialize and DoInitialize
Vedran Miletić <rivanvx@gmail.com>
parents: 9382
diff changeset
    47
LteSimpleHelper::DoInitialize (void)
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    48
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    49
  NS_LOG_FUNCTION (this);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    50
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
    51
  m_phyChannel = CreateObject<SimpleChannel> ();
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    52
9703
681f35b212ff Rename Start and DoStart methods to Initialize and DoInitialize
Vedran Miletić <rivanvx@gmail.com>
parents: 9382
diff changeset
    53
  Object::DoInitialize ();
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    54
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    55
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    56
LteSimpleHelper::~LteSimpleHelper (void)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    57
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    58
  NS_LOG_FUNCTION (this);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    59
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    60
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    61
TypeId LteSimpleHelper::GetTypeId (void)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    62
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    63
  static TypeId
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    64
  tid =
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    65
    TypeId ("ns3::LteSimpleHelper")
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    66
    .SetParent<Object> ()
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    67
    .AddConstructor<LteSimpleHelper> ()
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    68
    .AddAttribute ("RlcEntity",
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    69
                   "Specify which type of RLC will be used. ",
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    70
                   EnumValue (RLC_UM),
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    71
                   MakeEnumAccessor (&LteSimpleHelper::m_lteRlcEntityType),
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    72
                   MakeEnumChecker (RLC_UM, "RlcUm",
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    73
                                    RLC_AM, "RlcAm"))
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    74
  ;
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    75
  return tid;
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    76
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    77
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    78
void
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    79
LteSimpleHelper::DoDispose ()
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    80
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    81
  NS_LOG_FUNCTION (this);
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
    82
  m_phyChannel = 0;
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
    83
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
    84
  m_enbMac->Dispose ();
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
    85
  m_enbMac = 0;
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
    86
  m_ueMac->Dispose ();
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
    87
  m_ueMac = 0;
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
    88
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    89
  Object::DoDispose ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    90
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    91
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    92
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    93
NetDeviceContainer
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    94
LteSimpleHelper::InstallEnbDevice (NodeContainer c)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    95
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    96
  NS_LOG_FUNCTION (this);
9703
681f35b212ff Rename Start and DoStart methods to Initialize and DoInitialize
Vedran Miletić <rivanvx@gmail.com>
parents: 9382
diff changeset
    97
  Initialize ();  // will run DoInitialize () if necessary
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    98
  NetDeviceContainer devices;
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    99
  for (NodeContainer::Iterator i = c.Begin (); i != c.End (); ++i)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   100
    {
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   101
      Ptr<Node> node = *i;
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   102
      Ptr<NetDevice> device = InstallSingleEnbDevice (node);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   103
      devices.Add (device);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   104
    }
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   105
  return devices;
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   106
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   107
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   108
NetDeviceContainer
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   109
LteSimpleHelper::InstallUeDevice (NodeContainer c)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   110
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   111
  NS_LOG_FUNCTION (this);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   112
  NetDeviceContainer devices;
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   113
  for (NodeContainer::Iterator i = c.Begin (); i != c.End (); ++i)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   114
    {
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   115
      Ptr<Node> node = *i;
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   116
      Ptr<NetDevice> device = InstallSingleUeDevice (node);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   117
      devices.Add (device);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   118
    }
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   119
  return devices;
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   120
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   121
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   122
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   123
Ptr<NetDevice>
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   124
LteSimpleHelper::InstallSingleEnbDevice (Ptr<Node> n)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   125
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   126
  NS_LOG_FUNCTION (this);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   127
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   128
  m_enbRrc = CreateObject<LteTestRrc> ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   129
  m_enbPdcp = CreateObject<LtePdcp> ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   130
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   131
  if (m_lteRlcEntityType == RLC_UM)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   132
    {
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   133
      m_enbRlc = CreateObject<LteRlcUm> ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   134
    }
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   135
  else // m_lteRlcEntityType == RLC_AM
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   136
    {
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   137
      m_enbRlc = CreateObject<LteRlcAm> ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   138
    }
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   139
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   140
  m_enbRlc->SetRnti (11);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   141
  m_enbRlc->SetLcId (12);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   142
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   143
  Ptr<LteSimpleNetDevice> enbDev = m_enbDeviceFactory.Create<LteSimpleNetDevice> ();
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   144
  enbDev->SetAddress (Mac48Address::Allocate ());
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   145
  enbDev->SetChannel (m_phyChannel);
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   146
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   147
  n->AddDevice (enbDev);
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   148
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   149
  m_enbMac = CreateObject<LteTestMac> ();
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   150
  m_enbMac->SetDevice (enbDev);
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   151
11317
27574410fff6 fixed logging context in LteTest entities
Nicola Baldo <nbaldo@cttc.es>
parents: 9703
diff changeset
   152
  m_enbRrc->SetDevice (enbDev);
27574410fff6 fixed logging context in LteTest entities
Nicola Baldo <nbaldo@cttc.es>
parents: 9703
diff changeset
   153
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   154
  enbDev->SetReceiveCallback (MakeCallback (&LteTestMac::Receive, m_enbMac));
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   155
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   156
  // Connect SAPs: RRC <-> PDCP <-> RLC <-> MAC
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   157
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   158
  m_enbRrc->SetLtePdcpSapProvider (m_enbPdcp->GetLtePdcpSapProvider ());
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   159
  m_enbPdcp->SetLtePdcpSapUser (m_enbRrc->GetLtePdcpSapUser ());
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   160
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   161
  m_enbPdcp->SetLteRlcSapProvider (m_enbRlc->GetLteRlcSapProvider ());
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   162
  m_enbRlc->SetLteRlcSapUser (m_enbPdcp->GetLteRlcSapUser ());
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   163
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   164
  m_enbRlc->SetLteMacSapProvider (m_enbMac->GetLteMacSapProvider ());
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   165
  m_enbMac->SetLteMacSapUser (m_enbRlc->GetLteMacSapUser ());
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   166
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   167
  return enbDev;
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   168
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   169
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   170
Ptr<NetDevice>
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   171
LteSimpleHelper::InstallSingleUeDevice (Ptr<Node> n)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   172
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   173
  NS_LOG_FUNCTION (this);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   174
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   175
  m_ueRrc = CreateObject<LteTestRrc> ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   176
  m_uePdcp = CreateObject<LtePdcp> ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   177
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   178
  if (m_lteRlcEntityType == RLC_UM)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   179
    {
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   180
      m_ueRlc = CreateObject<LteRlcUm> ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   181
    }
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   182
  else // m_lteRlcEntityType == RLC_AM
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   183
    {
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   184
      m_ueRlc = CreateObject<LteRlcAm> ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   185
    }
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   186
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   187
  m_ueRlc->SetRnti (21);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   188
  m_ueRlc->SetLcId (22);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   189
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   190
  Ptr<LteSimpleNetDevice> ueDev = m_ueDeviceFactory.Create<LteSimpleNetDevice> ();
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   191
  ueDev->SetAddress (Mac48Address::Allocate ());
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   192
  ueDev->SetChannel (m_phyChannel);
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   193
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   194
  n->AddDevice (ueDev);
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   195
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   196
  m_ueMac = CreateObject<LteTestMac> ();
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   197
  m_ueMac->SetDevice (ueDev);
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   198
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   199
  ueDev->SetReceiveCallback (MakeCallback (&LteTestMac::Receive, m_ueMac));
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   200
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   201
  // Connect SAPs: RRC <-> PDCP <-> RLC <-> MAC
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   202
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   203
  m_ueRrc->SetLtePdcpSapProvider (m_uePdcp->GetLtePdcpSapProvider ());
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   204
  m_uePdcp->SetLtePdcpSapUser (m_ueRrc->GetLtePdcpSapUser ());
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   205
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   206
  m_uePdcp->SetLteRlcSapProvider (m_ueRlc->GetLteRlcSapProvider ());
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   207
  m_ueRlc->SetLteRlcSapUser (m_uePdcp->GetLteRlcSapUser ());
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   208
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   209
  m_ueRlc->SetLteMacSapProvider (m_ueMac->GetLteMacSapProvider ());
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   210
  m_ueMac->SetLteMacSapUser (m_ueRlc->GetLteMacSapUser ());
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   211
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   212
  return ueDev;
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   213
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   214
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   215
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   216
void
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   217
LteSimpleHelper::EnableLogComponents (void)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   218
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   219
  LogLevel level = (LogLevel) (LOG_LEVEL_ALL | LOG_PREFIX_TIME | LOG_PREFIX_NODE | LOG_PREFIX_FUNC);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   220
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   221
  LogComponentEnable ("Config", level);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   222
  LogComponentEnable ("LteSimpleHelper", level);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   223
  LogComponentEnable ("LteTestEntities", level);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   224
  LogComponentEnable ("LtePdcp", level);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   225
  LogComponentEnable ("LteRlc", level);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   226
  LogComponentEnable ("LteRlcUm", level);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   227
  LogComponentEnable ("LteRlcAm", level);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   228
  LogComponentEnable ("LteSimpleNetDevice", level);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   229
  LogComponentEnable ("SimpleNetDevice", level);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   230
  LogComponentEnable ("SimpleChannel", level);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   231
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   232
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   233
void
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   234
LteSimpleHelper::EnableTraces (void)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   235
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   236
//   EnableMacTraces ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   237
  EnableRlcTraces ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   238
  EnablePdcpTraces ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   239
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   240
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   241
void
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   242
LteSimpleHelper::EnableRlcTraces (void)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   243
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   244
  EnableDlRlcTraces ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   245
  EnableUlRlcTraces ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   246
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   247
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   248
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   249
void
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   250
LteSimpleHelperDlTxPduCallback (Ptr<RadioBearerStatsCalculator> rlcStats, std::string path,
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   251
                 uint16_t rnti, uint8_t lcid, uint32_t packetSize)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   252
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   253
  NS_LOG_FUNCTION (rlcStats << path << rnti << (uint16_t)lcid << packetSize);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   254
  uint64_t imsi = 111;
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   255
  uint16_t cellId = 222;
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   256
  rlcStats->DlTxPdu (cellId, imsi, rnti, lcid, packetSize);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   257
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   258
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   259
void
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   260
LteSimpleHelperDlRxPduCallback (Ptr<RadioBearerStatsCalculator> rlcStats, std::string path,
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   261
                 uint16_t rnti, uint8_t lcid, uint32_t packetSize, uint64_t delay)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   262
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   263
  NS_LOG_FUNCTION (rlcStats << path << rnti << (uint16_t)lcid << packetSize << delay);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   264
  uint64_t imsi = 333;
9382
a058179c3d9d Fix JIRA LENA-284, cellId was not being reported in some callbacks and in some situations cellId was being reported 0, now fixed and reporting always correct cellId
Jaume Nin
parents: 8822
diff changeset
   265
  uint16_t cellId = 555;
a058179c3d9d Fix JIRA LENA-284, cellId was not being reported in some callbacks and in some situations cellId was being reported 0, now fixed and reporting always correct cellId
Jaume Nin
parents: 8822
diff changeset
   266
  rlcStats->DlRxPdu (cellId, imsi, rnti, lcid, packetSize, delay);
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   267
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   268
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   269
void
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   270
LteSimpleHelper::EnableDlRlcTraces (void)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   271
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   272
  NS_LOG_FUNCTION_NOARGS ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   273
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   274
                //   Config::Connect ("/NodeList/*/DeviceList/*/LteRlc/TxPDU",
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   275
                //                    MakeBoundCallback (&LteSimpleHelperDlTxPduCallback, m_rlcStats));
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   276
                //   Config::Connect ("/NodeList/*/DeviceList/*/LteRlc/RxPDU",
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   277
                //                    MakeBoundCallback (&LteSimpleHelperDlRxPduCallback, m_rlcStats));
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   278
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   279
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   280
void
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   281
LteSimpleHelperUlTxPduCallback (Ptr<RadioBearerStatsCalculator> rlcStats, std::string path,
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   282
                 uint16_t rnti, uint8_t lcid, uint32_t packetSize)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   283
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   284
  NS_LOG_FUNCTION (rlcStats << path << rnti << (uint16_t)lcid << packetSize);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   285
  uint64_t imsi = 1111;
9382
a058179c3d9d Fix JIRA LENA-284, cellId was not being reported in some callbacks and in some situations cellId was being reported 0, now fixed and reporting always correct cellId
Jaume Nin
parents: 8822
diff changeset
   286
  uint16_t cellId = 555;
a058179c3d9d Fix JIRA LENA-284, cellId was not being reported in some callbacks and in some situations cellId was being reported 0, now fixed and reporting always correct cellId
Jaume Nin
parents: 8822
diff changeset
   287
  rlcStats->UlTxPdu (cellId, imsi, rnti, lcid, packetSize);
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   288
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   289
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   290
void
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   291
LteSimpleHelperUlRxPduCallback (Ptr<RadioBearerStatsCalculator> rlcStats, std::string path,
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   292
                 uint16_t rnti, uint8_t lcid, uint32_t packetSize, uint64_t delay)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   293
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   294
  NS_LOG_FUNCTION (rlcStats << path << rnti << (uint16_t)lcid << packetSize << delay);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   295
  uint64_t imsi = 444;
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   296
  uint16_t cellId = 555;
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   297
  rlcStats->UlRxPdu (cellId, imsi, rnti, lcid, packetSize, delay);
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   298
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   299
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   300
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   301
void
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   302
LteSimpleHelper::EnableUlRlcTraces (void)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   303
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   304
  NS_LOG_FUNCTION_NOARGS ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   305
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   306
                  //   Config::Connect ("/NodeList/*/DeviceList/*/LteRlc/TxPDU",
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   307
                  //                    MakeBoundCallback (&LteSimpleHelperUlTxPduCallback, m_rlcStats));
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   308
                  //   Config::Connect ("/NodeList/*/DeviceList/*/LteRlc/RxPDU",
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   309
                  //                    MakeBoundCallback (&LteSimpleHelperUlRxPduCallback, m_rlcStats));
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   310
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   311
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   312
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   313
void
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   314
LteSimpleHelper::EnablePdcpTraces (void)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   315
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   316
  EnableDlPdcpTraces ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   317
  EnableUlPdcpTraces ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   318
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   319
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   320
void
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   321
LteSimpleHelper::EnableDlPdcpTraces (void)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   322
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   323
  NS_LOG_FUNCTION_NOARGS ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   324
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   325
                  //   Config::Connect ("/NodeList/*/DeviceList/*/LtePdcp/TxPDU",
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   326
                  //                    MakeBoundCallback (&LteSimpleHelperDlTxPduCallback, m_pdcpStats));
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   327
                  //   Config::Connect ("/NodeList/*/DeviceList/*/LtePdcp/RxPDU",
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   328
                  //                    MakeBoundCallback (&LteSimpleHelperDlRxPduCallback, m_pdcpStats));
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   329
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   330
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   331
void
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   332
LteSimpleHelper::EnableUlPdcpTraces (void)
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   333
{
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   334
  NS_LOG_FUNCTION_NOARGS ();
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   335
8625
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   336
                  //   Config::Connect ("/NodeList/*/DeviceList/*/LtePdcp/TxPDU",
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   337
                  //                    MakeBoundCallback (&LteSimpleHelperUlTxPduCallback, m_pdcpStats));
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   338
                  //   Config::Connect ("/NodeList/*/DeviceList/*/LtePdcp/RxPDU",
e8c99462ba2c Fix memory problems in the LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents: 8614
diff changeset
   339
                  //                    MakeBoundCallback (&LteSimpleHelperUlRxPduCallback, m_pdcpStats));
8614
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   340
}
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   341
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   342
d4fdda1bf02a Add new LTE simple helper
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   343
} // namespace ns3