renamed LteTft --> EpcTft
authorNicola Baldo <nbaldo@cttc.es>
Mon, 05 Dec 2011 21:27:44 +0100
changeset 8463 cc818aa536a5
parent 8462 cf6a48994db5
child 8464 60dd9cd95447
renamed LteTft --> EpcTft
src/lte/doc/source/lte-user.rst
src/lte/examples/lena-cqi-threshold.cc
src/lte/examples/lena-fading.cc
src/lte/examples/lena-intercell-interference.cc
src/lte/examples/lena-pathloss-traces.cc
src/lte/examples/lena-profiling.cc
src/lte/examples/lena-rlc-traces.cc
src/lte/examples/lena-simple-epc.cc
src/lte/examples/lena-simple.cc
src/lte/helper/epc-helper.cc
src/lte/helper/epc-helper.h
src/lte/helper/lte-helper.cc
src/lte/helper/lte-helper.h
src/lte/model/epc-sgw-pgw-application.cc
src/lte/model/epc-sgw-pgw-application.h
src/lte/model/epc-tft.cc
src/lte/model/epc-tft.h
src/lte/model/eps-tft-classifier.cc
src/lte/model/eps-tft-classifier.h
src/lte/model/lte-tft.cc
src/lte/model/lte-tft.h
src/lte/model/lte-ue-rrc.cc
src/lte/model/lte-ue-rrc.h
src/lte/test/epc-test-s1u-downlink.cc
src/lte/test/epc-test-s1u-uplink.cc
src/lte/test/lte-test-interference.cc
src/lte/test/lte-test-link-adaptation.cc
src/lte/test/lte-test-pathloss-model.cc
src/lte/test/lte-test-pf-ff-mac-scheduler.cc
src/lte/test/lte-test-rr-ff-mac-scheduler.cc
src/lte/test/test-eps-tft-classifier.cc
src/lte/test/test-lte-epc-e2e-data.cc
src/lte/wscript
--- a/src/lte/doc/source/lte-user.rst	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/doc/source/lte-user.rst	Mon Dec 05 21:27:44 2011 +0100
@@ -523,9 +523,9 @@
 The activation of bearers is done exactly in the same way as for an
 LTE-only simulation. Here is how to activate a default bearer::
 
-      lteHelper->ActivateEpsBearer (ueLteDevs, EpsBearer (EpsBearer::NGBR_VIDEO_TCP_DEFAULT), LteTft::Default ());
+      lteHelper->ActivateEpsBearer (ueLteDevs, EpsBearer (EpsBearer::NGBR_VIDEO_TCP_DEFAULT), EpcTft::Default ());
 
-you can of course use custom EpsBearer and LteTft configurations,
+you can of course use custom EpsBearer and EpcTft configurations,
 please refer to the doxygen documentation for how to do it.
 
 
--- a/src/lte/examples/lena-cqi-threshold.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/examples/lena-cqi-threshold.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -116,7 +116,7 @@
   // Activate an EPS bearer
   enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
   EpsBearer bearer (q);
-  lteHelper->ActivateEpsBearer (ueDevs, bearer, LteTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs, bearer, EpcTft::Default ());
 
 
   Simulator::Stop (Seconds (0.030));
--- a/src/lte/examples/lena-fading.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/examples/lena-fading.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -103,7 +103,7 @@
   // Activate an EPS bearer
   enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
   EpsBearer bearer (q);
-  lteHelper->ActivateEpsBearer (ueDevs, bearer, LteTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs, bearer, EpcTft::Default ());
 
 
   Simulator::Stop (Seconds (0.005));
--- a/src/lte/examples/lena-intercell-interference.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/examples/lena-intercell-interference.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -123,8 +123,8 @@
   // Activate an EPS bearer on all UEs
   enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
   EpsBearer bearer (q);
-  lteHelper->ActivateEpsBearer (ueDevs1, bearer, LteTft::Default ());
-  lteHelper->ActivateEpsBearer (ueDevs2, bearer, LteTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs1, bearer, EpcTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs2, bearer, EpcTft::Default ());
 
   Simulator::Stop (Seconds (10));
 
--- a/src/lte/examples/lena-pathloss-traces.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/examples/lena-pathloss-traces.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -226,8 +226,8 @@
   // Activate an EPS bearer on all UEs
   enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
   EpsBearer bearer (q);
-  lteHelper->ActivateEpsBearer (ueDevs1, bearer, LteTft::Default ());
-  lteHelper->ActivateEpsBearer (ueDevs2, bearer, LteTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs1, bearer, EpcTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs2, bearer, EpcTft::Default ());
 
   Simulator::Stop (Seconds (0.5));
 
--- a/src/lte/examples/lena-profiling.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/examples/lena-profiling.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -199,7 +199,7 @@
       lteHelper->Attach(ueDev, enbDevs.Get(i));
       enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
       EpsBearer bearer(q);
-      lteHelper->ActivateEpsBearer(ueDev, bearer, LteTft::Default ());
+      lteHelper->ActivateEpsBearer(ueDev, bearer, EpcTft::Default ());
     }
 
   Simulator::Stop(Seconds(simTime));
--- a/src/lte/examples/lena-rlc-traces.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/examples/lena-rlc-traces.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -73,7 +73,7 @@
   // Activate an EPS bearer
   enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
   EpsBearer bearer (q);
-  lteHelper->ActivateEpsBearer (ueDevs, bearer, LteTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs, bearer, EpcTft::Default ());
 
   Simulator::Stop (Seconds (2));
 
--- a/src/lte/examples/lena-simple-epc.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/examples/lena-simple-epc.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -130,7 +130,7 @@
       Ptr<Ipv4StaticRouting> ueStaticRouting = ipv4RoutingHelper.GetStaticRouting (ueNode->GetObject<Ipv4> ());
       ueStaticRouting->SetDefaultRoute (epcHelper->GetUeDefaultGatewayAddress (), 1);
     }
-  lteHelper->ActivateEpsBearer (ueLteDevs, EpsBearer (EpsBearer::NGBR_VIDEO_TCP_DEFAULT), LteTft::Default ());
+  lteHelper->ActivateEpsBearer (ueLteDevs, EpsBearer (EpsBearer::NGBR_VIDEO_TCP_DEFAULT), EpcTft::Default ());
 
 
   // Install and start applications on UEs and remote host
--- a/src/lte/examples/lena-simple.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/examples/lena-simple.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -78,7 +78,7 @@
   // Activate an EPS bearer
   enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
   EpsBearer bearer (q);
-  lteHelper->ActivateEpsBearer (ueDevs, bearer, LteTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs, bearer, EpcTft::Default ());
 
 
   Simulator::Stop (Seconds (0.005));
--- a/src/lte/helper/epc-helper.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/helper/epc-helper.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -186,7 +186,7 @@
 
 
 void
-EpcHelper::ActivateEpsBearer (Ptr<NetDevice> ueLteDevice, Ptr<NetDevice> enbLteDevice, Ptr<LteTft> tft, uint16_t rnti, uint8_t lcid)
+EpcHelper::ActivateEpsBearer (Ptr<NetDevice> ueLteDevice, Ptr<NetDevice> enbLteDevice, Ptr<EpcTft> tft, uint16_t rnti, uint8_t lcid)
 {
   Ptr<Node> ueNode = ueLteDevice->GetNode (); 
   Ptr<Ipv4> ueIpv4 = ueNode->GetObject<Ipv4> ();
--- a/src/lte/helper/epc-helper.h	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/helper/epc-helper.h	Mon Dec 05 21:27:44 2011 +0100
@@ -25,7 +25,7 @@
 #include <ns3/object.h>
 #include <ns3/ipv4-address-helper.h>
 #include <ns3/data-rate.h>
-#include <ns3/lte-tft.h>
+#include <ns3/epc-tft.h>
 
 
 namespace ns3 {
@@ -81,7 +81,7 @@
    * \param rnti the Radio Network Temporary Identifier that identifies the UE
    * \param lcid the Logical Channel IDentifier of the corresponding RadioBearer
    */
-  void ActivateEpsBearer (Ptr<NetDevice> ueLteDevice, Ptr<NetDevice> enbLteDevice, Ptr<LteTft> tft, uint16_t rnti, uint8_t lcid);
+  void ActivateEpsBearer (Ptr<NetDevice> ueLteDevice, Ptr<NetDevice> enbLteDevice, Ptr<EpcTft> tft, uint16_t rnti, uint8_t lcid);
 
 
   /** 
--- a/src/lte/helper/lte-helper.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/helper/lte-helper.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -452,7 +452,7 @@
 
 
 void
-LteHelper::ActivateEpsBearer (NetDeviceContainer ueDevices, EpsBearer bearer, Ptr<LteTft> tft)
+LteHelper::ActivateEpsBearer (NetDeviceContainer ueDevices, EpsBearer bearer, Ptr<EpcTft> tft)
 {
   for (NetDeviceContainer::Iterator i = ueDevices.Begin (); i != ueDevices.End (); ++i)
     {
@@ -462,7 +462,7 @@
 
 
 void
-LteHelper::ActivateEpsBearer (Ptr<NetDevice> ueDevice, EpsBearer bearer, Ptr<LteTft> tft)
+LteHelper::ActivateEpsBearer (Ptr<NetDevice> ueDevice, EpsBearer bearer, Ptr<EpcTft> tft)
 {
   NS_LOG_INFO (" setting up Radio Bearer");
   Ptr<LteEnbNetDevice> enbDevice = ueDevice->GetObject<LteUeNetDevice> ()->GetTargetEnb ();
--- a/src/lte/helper/lte-helper.h	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/helper/lte-helper.h	Mon Dec 05 21:27:44 2011 +0100
@@ -31,7 +31,7 @@
 #include <ns3/eps-bearer.h>
 #include <ns3/mac-stats-calculator.h>
 #include <ns3/radio-bearer-stats-calculator.h>
-#include <ns3/lte-tft.h>
+#include <ns3/epc-tft.h>
 #include <ns3/trace-fading-loss-model.h>
 
 namespace ns3 {
@@ -151,7 +151,7 @@
    * \param bearer the characteristics of the bearer to be activated
    * \param tft the Traffic Flow Template that identifies the traffic to go on this bearer
    */
-  void ActivateEpsBearer (NetDeviceContainer ueDevices, EpsBearer bearer, Ptr<LteTft> tft);
+  void ActivateEpsBearer (NetDeviceContainer ueDevices, EpsBearer bearer, Ptr<EpcTft> tft);
 
   /**
    * Activate an EPS bearer on a given UE device
@@ -160,7 +160,7 @@
    * \param bearer the characteristics of the bearer to be activated
    * \param tft the Traffic Flow Template that identifies the traffic to go on this bearer
    */
-  void ActivateEpsBearer (Ptr<NetDevice> ueDevice, EpsBearer bearer, Ptr<LteTft> tft);
+  void ActivateEpsBearer (Ptr<NetDevice> ueDevice, EpsBearer bearer, Ptr<EpcTft> tft);
 
   /** 
    * 
--- a/src/lte/model/epc-sgw-pgw-application.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/model/epc-sgw-pgw-application.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -44,7 +44,7 @@
 }
 
 void
-EpcSgwPgwApplication::UeInfo::AddBearer (Ptr<LteTft> tft, uint32_t teid)
+EpcSgwPgwApplication::UeInfo::AddBearer (Ptr<EpcTft> tft, uint32_t teid)
 {
   NS_LOG_FUNCTION (this << tft << teid);
   return m_tftClassifier.Add (tft, teid);
@@ -57,7 +57,7 @@
   // we hardcode DOWNLINK direction since the PGW is espected to
   // classify only downlink packets (uplink packets will go to the
   // internet without any classification). 
-  return m_tftClassifier.Classify (p, LteTft::DOWNLINK);
+  return m_tftClassifier.Classify (p, EpcTft::DOWNLINK);
 }
 
 Ipv4Address 
@@ -105,7 +105,7 @@
 
 
 uint32_t 
-EpcSgwPgwApplication::ActivateS1Bearer (Ipv4Address ueAddr, Ipv4Address enbAddr, Ptr<LteTft> tft)
+EpcSgwPgwApplication::ActivateS1Bearer (Ipv4Address ueAddr, Ipv4Address enbAddr, Ptr<EpcTft> tft)
 {
   NS_LOG_FUNCTION (this << ueAddr << enbAddr << tft);
 
--- a/src/lte/model/epc-sgw-pgw-application.h	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/model/epc-sgw-pgw-application.h	Mon Dec 05 21:27:44 2011 +0100
@@ -31,7 +31,7 @@
 #include <ns3/ptr.h>
 #include <ns3/object.h>
 #include <ns3/eps-bearer.h>
-#include <ns3/lte-tft.h>
+#include <ns3/epc-tft.h>
 #include <ns3/eps-tft-classifier.h>
 #include <ns3/lte-common.h>
 #include <ns3/application.h>
@@ -80,7 +80,7 @@
    * 
    * \return the TunnelEndpointIdentifier of this EPS bearer
    */
-  uint32_t ActivateS1Bearer (Ipv4Address ueAddr, Ipv4Address enbAddr, Ptr<LteTft> tft);
+  uint32_t ActivateS1Bearer (Ipv4Address ueAddr, Ipv4Address enbAddr, Ptr<EpcTft> tft);
 
   
   /** 
@@ -142,7 +142,7 @@
      * \param tft the Traffic Flow Template of the new bearer to be added
      * \param teid  the TEID of the new bearer
      */
-    void AddBearer (Ptr<LteTft> tft, uint32_t teid);
+    void AddBearer (Ptr<EpcTft> tft, uint32_t teid);
 
     /** 
      * 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/lte/model/epc-tft.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -0,0 +1,195 @@
+/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2011 CTTC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Author: Nicola Baldo <nbaldo@cttc.es>
+ */
+
+
+
+
+#include "epc-tft.h"
+#include "ns3/abort.h"
+#include "ns3/log.h"
+
+
+namespace ns3 {
+
+NS_LOG_COMPONENT_DEFINE ("EpcTft");
+
+std::ostream& operator<< (std::ostream& os, EpcTft::Direction& d)
+{
+ switch (d)
+    {
+    case EpcTft::DOWNLINK:
+      os << "DOWNLINK";
+      break;
+    case EpcTft::UPLINK:
+      os << "UPLINK";
+      break;
+    default:
+      os << "BIDIRECTIONAL";
+      break;
+    }
+  return os;
+}
+
+
+std::ostream& operator<< (std::ostream& os, EpcTft::PacketFilter& f)
+{
+  os << " direction: " << f.direction
+     << " remoteAddress: "  << f.remoteAddress 
+     << " remoteMask: "  << f.remoteMask 
+     << " localAddress: "  << f.localAddress 
+     << " localMask: "  << f.localMask 
+     << " remotePortStart: "   << f.remotePortStart
+     << " remotePortEnd: "   << f.remotePortEnd 
+     << " localPortStart: "   << f.localPortStart 
+     << " localPortEnd: "   << f.localPortEnd 
+     << " typeOfService: 0x" << std::hex << (uint16_t) f.typeOfService << std::dec
+     << " typeOfServiceMask: 0x" << std::hex << (uint16_t) f.typeOfServiceMask << std::dec;  
+  return os;
+}
+
+EpcTft::PacketFilter::PacketFilter ()
+  : precedence (255),
+    direction (BIDIRECTIONAL),
+    remoteMask ("0.0.0.0"),
+    localMask ("0.0.0.0"),
+    remotePortStart (0),
+    remotePortEnd (65535), 
+    localPortStart (0),
+    localPortEnd (65535),
+    typeOfService (0),  
+    typeOfServiceMask (0)
+{
+  NS_LOG_FUNCTION (this);
+}
+
+bool 
+EpcTft::PacketFilter::Matches (Direction d,
+			       Ipv4Address ra, 
+			       Ipv4Address la, 
+			       uint16_t rp,
+			       uint16_t lp,
+			       uint8_t tos)
+{
+  NS_LOG_FUNCTION (this << d << ra << la << rp << lp << (uint16_t) tos);
+  if (d & direction)
+    {
+      NS_LOG_LOGIC ("d matches");
+      if (remoteMask.IsMatch (remoteAddress, ra))
+	{
+	  NS_LOG_LOGIC ("ra matches");
+	  if (localMask.IsMatch (localAddress, la))
+	    {
+	      NS_LOG_LOGIC ("ls matches");
+	      if (rp >= remotePortStart)
+		{
+		  NS_LOG_LOGIC ("rps matches");
+		  if (rp <= remotePortEnd)
+		    {
+		      NS_LOG_LOGIC ("rpe matches");
+		      if (lp >= localPortStart)
+			{
+			  NS_LOG_LOGIC ("lps matches");
+			  if (lp <= localPortEnd)
+			    {
+			      NS_LOG_LOGIC ("lpe matches");
+			      if ((tos & typeOfServiceMask) == (typeOfService & typeOfServiceMask))
+				{
+				  NS_LOG_LOGIC ("tos matches --> have match!");
+				  return true;
+				}
+			    }
+			}
+		    }
+		}
+	    }
+	  else
+	    {
+	      NS_LOG_LOGIC ("la doesn't match: la=" << la << " f.la=" << localAddress << " f.lmask=" << localMask);
+	    }
+	}
+      else
+	{
+	  NS_LOG_LOGIC ("ra doesn't match: ra=" << ra << " f.ra=" << remoteAddress << " f.rmask=" << remoteMask);
+	}
+    }
+  else
+    {
+      NS_LOG_LOGIC ("d doesn't match: d=0x" << std::hex << d << " f.d=0x" << std::hex << direction << std::dec);
+    }
+  return false;      
+}
+
+
+Ptr<EpcTft> 
+EpcTft::Default ()
+{
+  Ptr<EpcTft> tft = Create<EpcTft> ();
+  EpcTft::PacketFilter defaultPacketFilter;
+  tft->Add (defaultPacketFilter);
+  return tft;
+}
+
+
+EpcTft::EpcTft ()
+  : m_numFilters (0)
+{
+  NS_LOG_FUNCTION (this);
+}
+
+uint8_t 
+EpcTft::Add (PacketFilter f)
+{
+  NS_LOG_FUNCTION (this << f);
+  NS_ABORT_IF (m_numFilters >= 16);
+  
+  std::list<PacketFilter>::iterator it;
+  for (it = m_filters.begin ();
+       (it != m_filters.end ()) && (it->precedence <= f.precedence);
+       ++it)
+    {
+    }  
+  m_filters.insert (it, f);  
+  ++m_numFilters;
+  return (m_numFilters - 1);
+}
+    
+bool 
+EpcTft::Matches (Direction direction,
+		 Ipv4Address remoteAddress, 
+		 Ipv4Address localAddress, 
+		 uint16_t remotePort,
+		 uint16_t localPort,
+		 uint8_t typeOfService)
+{
+  NS_LOG_FUNCTION (this << direction << remoteAddress << localAddress << std::dec << remotePort << localPort << (uint16_t) typeOfService);
+  for (std::list<PacketFilter>::iterator it = m_filters.begin ();
+       it != m_filters.end ();
+       ++it)
+    {
+      if (it->Matches (direction, remoteAddress, localAddress, remotePort, localPort, typeOfService))
+	{
+	  return true;
+	}
+    }  
+  return false;
+}
+
+
+} // namespace ns3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/lte/model/epc-tft.h	Mon Dec 05 21:27:44 2011 +0100
@@ -0,0 +1,169 @@
+/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Author: Nicola Baldo  <nbaldo@cttc.es>
+ */
+
+
+#ifndef EPC_TFT_H
+#define EPC_TFT_H
+
+
+#include <ns3/simple-ref-count.h>
+#include <ns3/ipv4-address.h>
+
+#include <list>
+
+namespace ns3 {
+
+
+
+/**
+ * This class implements the EPS bearer Traffic Flow Template (TFT),
+ * which is the set of all packet filters associated with an EPS bearer. 
+ * 
+ */
+class EpcTft : public SimpleRefCount<EpcTft>
+{
+
+public:
+
+
+  /** 
+   * creates a TFT matching any traffic
+   *
+   * \return a newly created TFT that will match any traffic
+   */
+  static Ptr<EpcTft> Default ();
+  
+  /**
+   * Indicates the direction of the traffic that is to be classified. 
+   */
+  enum Direction {DOWNLINK = 1,
+		  UPLINK = 2,
+		  BIDIRECTIONAL = 3};
+  
+  /**
+   * Implement the data structure representing a TrafficFlowTemplate
+   * Packet Filter.
+   * See 3GPP TS 24.008 version 8.7.0 Release 8, Table 10.5.162/3GPP TS
+   * 24.008: Traffic flow template information element  
+   * 
+   * With respect to the Packet Filter specification in the above doc,
+   * the following features are NOT supported:
+   *  - IPv6 filtering (including flow labels)
+   *  - IPSec filtering
+   *  - filter precedence field is not evaluated, hence it is recommended to setup
+   *    the TFTs within a PDP context such that TFTs are mutually exclusive
+   */
+  struct PacketFilter
+  {
+    PacketFilter ();
+
+    /** 
+     * 
+     * \param d the direction 
+     * \param ra the remote address 
+     * \param la the local address 
+     * \param rp the remote port 
+     * \param lp the local port 
+     * \param tos the type of service 
+     * 
+     * \return true if the parameters match with the PacketFilter,
+     * false otherwise.
+     */
+    bool Matches (Direction d,
+		  Ipv4Address ra, 
+		  Ipv4Address la, 
+		  uint16_t rp,
+		  uint16_t lp,
+		  uint8_t tos);
+
+ 
+
+    uint8_t precedence;  /**< used to specify the precedence for the
+			  * packet filter among all packet filters in
+			  * the TFT; higher values will be evaluated
+			  * last. 
+			  */ 
+
+    Direction direction; /**< whether the filter needs to be applied
+			    to uplink / downlink only, or in both cases*/
+
+    Ipv4Address remoteAddress;     /**< IPv4 address of the remote host  */
+    Ipv4Mask remoteMask; /**< IPv4 address mask of the remote host */
+    Ipv4Address localAddress;      /**< IPv4 address of the UE */
+    Ipv4Mask localMask;  /**< IPv4 address mask of the UE */
+  
+    uint16_t remotePortStart;  /**< start of the port number range of the remote host */
+    uint16_t remotePortEnd;    /**< end of the port number range of the remote host */
+    uint16_t localPortStart;   /**< start of the port number range of the UE */
+    uint16_t localPortEnd;     /**< end of the port number range of the UE */
+  
+    uint8_t typeOfService;     /**< type of service field */
+    uint8_t typeOfServiceMask; /**< type of service field mask */
+  };
+  
+  EpcTft ();
+  
+
+  /** 
+   * add a PacketFilter to the Traffic Flow Template
+   * 
+   * \param the PacketFilter to be added
+   * 
+   * \return the id( 0 <= id < 16) of the newly added filter, if the addition was successful. Will fail if you try to add more than 15 filters. This is to be compliant with TS 24.008.
+   */
+  uint8_t Add (PacketFilter f);
+
+
+    /** 
+     * 
+     * \param direction 
+     * \param remoteAddress 
+     * \param localAddress 
+     * \param remotePort 
+     * \param localPort 
+     * \param typeOfService 
+     * 
+     * \return true if any PacketFilter in the TFT matches with the
+     * parameters, false otherwise.
+     */
+    bool Matches (Direction direction,
+		  Ipv4Address remoteAddress, 
+		  Ipv4Address localAddress, 
+		  uint16_t remotePort,
+		  uint16_t localPort,
+		  uint8_t typeOfService);
+
+
+private:
+
+  std::list<PacketFilter> m_filters;
+  uint8_t m_numFilters;
+  
+};
+
+
+std::ostream& operator<< (std::ostream& os, EpcTft::Direction& d);
+
+
+} // namespace ns3
+  
+#endif /* EPC_TFT_H */ 
+
+
--- a/src/lte/model/eps-tft-classifier.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/model/eps-tft-classifier.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -27,7 +27,7 @@
 
 
 #include "eps-tft-classifier.h"
-#include "lte-tft.h"
+#include "epc-tft.h"
 #include "ns3/log.h"
 #include "ns3/packet.h"
 #include "ns3/ipv4-header.h"
@@ -46,7 +46,7 @@
 }
 
 void
-EpsTftClassifier::Add (Ptr<LteTft> tft, uint32_t id)
+EpsTftClassifier::Add (Ptr<EpcTft> tft, uint32_t id)
 {
   NS_LOG_FUNCTION (this << tft);
   
@@ -65,7 +65,7 @@
 
  
 uint32_t 
-EpsTftClassifier::Classify (Ptr<Packet> p, LteTft::Direction direction)
+EpsTftClassifier::Classify (Ptr<Packet> p, EpcTft::Direction direction)
 {
   NS_LOG_FUNCTION (this << p << direction);
 
@@ -78,14 +78,14 @@
   Ipv4Address remoteAddress;
 
   
-  if (direction ==  LteTft::UPLINK)
+  if (direction ==  EpcTft::UPLINK)
     {
       localAddress = ipv4Header.GetSource ();
       remoteAddress = ipv4Header.GetDestination ();
     }
   else
     { 
-      NS_ASSERT (direction ==  LteTft::DOWNLINK);
+      NS_ASSERT (direction ==  EpcTft::DOWNLINK);
       remoteAddress = ipv4Header.GetSource ();
       localAddress = ipv4Header.GetDestination ();      
     }
@@ -102,7 +102,7 @@
       UdpHeader udpHeader;
       pCopy->RemoveHeader (udpHeader);
 
-      if (direction ==  LteTft::UPLINK)
+      if (direction ==  EpcTft::UPLINK)
 	{
 	  localPort = udpHeader.GetSourcePort ();
 	  remotePort = udpHeader.GetDestinationPort ();
@@ -117,7 +117,7 @@
     {
       TcpHeader tcpHeader;
       pCopy->RemoveHeader (tcpHeader);
-      if (direction ==  LteTft::UPLINK)
+      if (direction ==  EpcTft::UPLINK)
 	{
 	  localPort = tcpHeader.GetSourcePort ();
 	  remotePort = tcpHeader.GetDestinationPort ();
@@ -144,14 +144,14 @@
   // now it is possible to classify the packet!
   // we use a reverse iterator since filter priority is not implemented properly.
   // This way, since the default bearer is expected to be added first, it will be evaluated last.
-  std::map <uint32_t, Ptr<LteTft> >::const_reverse_iterator it;
+  std::map <uint32_t, Ptr<EpcTft> >::const_reverse_iterator it;
   NS_LOG_LOGIC ("TFT MAP size: " << m_tftMap.size ());
 
   for (it = m_tftMap.rbegin (); it != m_tftMap.rend (); ++it)
     {
       NS_LOG_LOGIC ("TFT id: " << it->first );
-      NS_LOG_LOGIC (" Ptr<LteTft>: " << it->second);
-      Ptr<LteTft> tft = it->second;         
+      NS_LOG_LOGIC (" Ptr<EpcTft>: " << it->second);
+      Ptr<EpcTft> tft = it->second;         
       if (tft->Matches (direction, remoteAddress, localAddress, remotePort, localPort, tos))
         {
 	  NS_LOG_LOGIC ("matches with TFT ID = " << it->first);
--- a/src/lte/model/eps-tft-classifier.h	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/model/eps-tft-classifier.h	Mon Dec 05 21:27:44 2011 +0100
@@ -25,14 +25,14 @@
 
 #include "ns3/ptr.h"
 #include "ns3/simple-ref-count.h"
-#include "ns3/lte-tft.h"
+#include "ns3/epc-tft.h"
 
 #include <map>
 
 
 namespace ns3 {
 
-class LteTft;
+class EpcTft;
 class Packet;
 
 /**
@@ -52,7 +52,7 @@
    * \param tft the TFT to be added
    * 
    */
-  void Add (Ptr<LteTft> tft, uint32_t id);
+  void Add (Ptr<EpcTft> tft, uint32_t id);
 
   /** 
    * delete an existing TFT from the classifier
@@ -69,11 +69,11 @@
    * 
    * \return the identifier (>0) of the first TFT that matches with the IP packet; 0 if no TFT matched.
    */
-  uint32_t Classify (Ptr<Packet> p, LteTft::Direction direction);
+  uint32_t Classify (Ptr<Packet> p, EpcTft::Direction direction);
   
 protected:
   
-  std::map <uint32_t, Ptr<LteTft> > m_tftMap;
+  std::map <uint32_t, Ptr<EpcTft> > m_tftMap;
   
 };
 
--- a/src/lte/model/lte-tft.cc	Mon Dec 05 21:24:51 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +0,0 @@
-/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
-/*
- * Copyright (c) 2011 CTTC
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * Author: Nicola Baldo <nbaldo@cttc.es>
- */
-
-
-
-
-#include "lte-tft.h"
-#include "ns3/abort.h"
-#include "ns3/log.h"
-
-
-namespace ns3 {
-
-NS_LOG_COMPONENT_DEFINE ("LteTft");
-
-std::ostream& operator<< (std::ostream& os, LteTft::Direction& d)
-{
- switch (d)
-    {
-    case LteTft::DOWNLINK:
-      os << "DOWNLINK";
-      break;
-    case LteTft::UPLINK:
-      os << "UPLINK";
-      break;
-    default:
-      os << "BIDIRECTIONAL";
-      break;
-    }
-  return os;
-}
-
-
-std::ostream& operator<< (std::ostream& os, LteTft::PacketFilter& f)
-{
-  os << " direction: " << f.direction
-     << " remoteAddress: "  << f.remoteAddress 
-     << " remoteMask: "  << f.remoteMask 
-     << " localAddress: "  << f.localAddress 
-     << " localMask: "  << f.localMask 
-     << " remotePortStart: "   << f.remotePortStart
-     << " remotePortEnd: "   << f.remotePortEnd 
-     << " localPortStart: "   << f.localPortStart 
-     << " localPortEnd: "   << f.localPortEnd 
-     << " typeOfService: 0x" << std::hex << (uint16_t) f.typeOfService << std::dec
-     << " typeOfServiceMask: 0x" << std::hex << (uint16_t) f.typeOfServiceMask << std::dec;  
-  return os;
-}
-
-LteTft::PacketFilter::PacketFilter ()
-  : precedence (255),
-    direction (BIDIRECTIONAL),
-    remoteMask ("0.0.0.0"),
-    localMask ("0.0.0.0"),
-    remotePortStart (0),
-    remotePortEnd (65535), 
-    localPortStart (0),
-    localPortEnd (65535),
-    typeOfService (0),  
-    typeOfServiceMask (0)
-{
-  NS_LOG_FUNCTION (this);
-}
-
-bool 
-LteTft::PacketFilter::Matches (Direction d,
-			       Ipv4Address ra, 
-			       Ipv4Address la, 
-			       uint16_t rp,
-			       uint16_t lp,
-			       uint8_t tos)
-{
-  NS_LOG_FUNCTION (this << d << ra << la << rp << lp << (uint16_t) tos);
-  if (d & direction)
-    {
-      NS_LOG_LOGIC ("d matches");
-      if (remoteMask.IsMatch (remoteAddress, ra))
-	{
-	  NS_LOG_LOGIC ("ra matches");
-	  if (localMask.IsMatch (localAddress, la))
-	    {
-	      NS_LOG_LOGIC ("ls matches");
-	      if (rp >= remotePortStart)
-		{
-		  NS_LOG_LOGIC ("rps matches");
-		  if (rp <= remotePortEnd)
-		    {
-		      NS_LOG_LOGIC ("rpe matches");
-		      if (lp >= localPortStart)
-			{
-			  NS_LOG_LOGIC ("lps matches");
-			  if (lp <= localPortEnd)
-			    {
-			      NS_LOG_LOGIC ("lpe matches");
-			      if ((tos & typeOfServiceMask) == (typeOfService & typeOfServiceMask))
-				{
-				  NS_LOG_LOGIC ("tos matches --> have match!");
-				  return true;
-				}
-			    }
-			}
-		    }
-		}
-	    }
-	  else
-	    {
-	      NS_LOG_LOGIC ("la doesn't match: la=" << la << " f.la=" << localAddress << " f.lmask=" << localMask);
-	    }
-	}
-      else
-	{
-	  NS_LOG_LOGIC ("ra doesn't match: ra=" << ra << " f.ra=" << remoteAddress << " f.rmask=" << remoteMask);
-	}
-    }
-  else
-    {
-      NS_LOG_LOGIC ("d doesn't match: d=0x" << std::hex << d << " f.d=0x" << std::hex << direction << std::dec);
-    }
-  return false;      
-}
-
-
-Ptr<LteTft> 
-LteTft::Default ()
-{
-  Ptr<LteTft> tft = Create<LteTft> ();
-  LteTft::PacketFilter defaultPacketFilter;
-  tft->Add (defaultPacketFilter);
-  return tft;
-}
-
-
-LteTft::LteTft ()
-  : m_numFilters (0)
-{
-  NS_LOG_FUNCTION (this);
-}
-
-uint8_t 
-LteTft::Add (PacketFilter f)
-{
-  NS_LOG_FUNCTION (this << f);
-  NS_ABORT_IF (m_numFilters >= 16);
-  
-  std::list<PacketFilter>::iterator it;
-  for (it = m_filters.begin ();
-       (it != m_filters.end ()) && (it->precedence <= f.precedence);
-       ++it)
-    {
-    }  
-  m_filters.insert (it, f);  
-  ++m_numFilters;
-  return (m_numFilters - 1);
-}
-    
-bool 
-LteTft::Matches (Direction direction,
-		 Ipv4Address remoteAddress, 
-		 Ipv4Address localAddress, 
-		 uint16_t remotePort,
-		 uint16_t localPort,
-		 uint8_t typeOfService)
-{
-  NS_LOG_FUNCTION (this << direction << remoteAddress << localAddress << std::dec << remotePort << localPort << (uint16_t) typeOfService);
-  for (std::list<PacketFilter>::iterator it = m_filters.begin ();
-       it != m_filters.end ();
-       ++it)
-    {
-      if (it->Matches (direction, remoteAddress, localAddress, remotePort, localPort, typeOfService))
-	{
-	  return true;
-	}
-    }  
-  return false;
-}
-
-
-} // namespace ns3
--- a/src/lte/model/lte-tft.h	Mon Dec 05 21:24:51 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
-/*
- * Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * Author: Nicola Baldo  <nbaldo@cttc.es>
- */
-
-
-#ifndef LTE_TFT_H
-#define LTE_TFT_H
-
-
-#include <ns3/simple-ref-count.h>
-#include <ns3/ipv4-address.h>
-
-#include <list>
-
-namespace ns3 {
-
-
-
-/**
- * This class implements the EPS bearer Traffic Flow Template (TFT),
- * which is the set of all packet filters associated with an EPS bearer. 
- * 
- */
-class LteTft : public SimpleRefCount<LteTft>
-{
-
-public:
-
-
-  /** 
-   * creates a TFT matching any traffic
-   *
-   * \return a newly created TFT that will match any traffic
-   */
-  static Ptr<LteTft> Default ();
-  
-  /**
-   * Indicates the direction of the traffic that is to be classified. 
-   */
-  enum Direction {DOWNLINK = 1,
-		  UPLINK = 2,
-		  BIDIRECTIONAL = 3};
-  
-  /**
-   * Implement the data structure representing a TrafficFlowTemplate
-   * Packet Filter.
-   * See 3GPP TS 24.008 version 8.7.0 Release 8, Table 10.5.162/3GPP TS
-   * 24.008: Traffic flow template information element  
-   * 
-   * With respect to the Packet Filter specification in the above doc,
-   * the following features are NOT supported:
-   *  - IPv6 filtering (including flow labels)
-   *  - IPSec filtering
-   *  - filter precedence field is not evaluated, hence it is recommended to setup
-   *    the TFTs within a PDP context such that TFTs are mutually exclusive
-   */
-  struct PacketFilter
-  {
-    PacketFilter ();
-
-    /** 
-     * 
-     * \param d the direction 
-     * \param ra the remote address 
-     * \param la the local address 
-     * \param rp the remote port 
-     * \param lp the local port 
-     * \param tos the type of service 
-     * 
-     * \return true if the parameters match with the PacketFilter,
-     * false otherwise.
-     */
-    bool Matches (Direction d,
-		  Ipv4Address ra, 
-		  Ipv4Address la, 
-		  uint16_t rp,
-		  uint16_t lp,
-		  uint8_t tos);
-
- 
-
-    uint8_t precedence;  /**< used to specify the precedence for the
-			  * packet filter among all packet filters in
-			  * the TFT; higher values will be evaluated
-			  * last. 
-			  */ 
-
-    Direction direction; /**< whether the filter needs to be applied
-			    to uplink / downlink only, or in both cases*/
-
-    Ipv4Address remoteAddress;     /**< IPv4 address of the remote host  */
-    Ipv4Mask remoteMask; /**< IPv4 address mask of the remote host */
-    Ipv4Address localAddress;      /**< IPv4 address of the UE */
-    Ipv4Mask localMask;  /**< IPv4 address mask of the UE */
-  
-    uint16_t remotePortStart;  /**< start of the port number range of the remote host */
-    uint16_t remotePortEnd;    /**< end of the port number range of the remote host */
-    uint16_t localPortStart;   /**< start of the port number range of the UE */
-    uint16_t localPortEnd;     /**< end of the port number range of the UE */
-  
-    uint8_t typeOfService;     /**< type of service field */
-    uint8_t typeOfServiceMask; /**< type of service field mask */
-  };
-  
-  LteTft ();
-  
-
-  /** 
-   * add a PacketFilter to the Traffic Flow Template
-   * 
-   * \param the PacketFilter to be added
-   * 
-   * \return the id( 0 <= id < 16) of the newly added filter, if the addition was successful. Will fail if you try to add more than 15 filters. This is to be compliant with TS 24.008.
-   */
-  uint8_t Add (PacketFilter f);
-
-
-    /** 
-     * 
-     * \param direction 
-     * \param remoteAddress 
-     * \param localAddress 
-     * \param remotePort 
-     * \param localPort 
-     * \param typeOfService 
-     * 
-     * \return true if any PacketFilter in the TFT matches with the
-     * parameters, false otherwise.
-     */
-    bool Matches (Direction direction,
-		  Ipv4Address remoteAddress, 
-		  Ipv4Address localAddress, 
-		  uint16_t remotePort,
-		  uint16_t localPort,
-		  uint8_t typeOfService);
-
-
-private:
-
-  std::list<PacketFilter> m_filters;
-  uint8_t m_numFilters;
-  
-};
-
-
-std::ostream& operator<< (std::ostream& os, LteTft::Direction& d);
-
-
-} // namespace ns3
-  
-#endif /* LTE_TFT_H */ 
-
-
--- a/src/lte/model/lte-ue-rrc.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/model/lte-ue-rrc.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -178,7 +178,7 @@
 }
 
 void
-LteUeRrc::SetupRadioBearer (uint16_t rnti, EpsBearer bearer, TypeId rlcTypeId, uint8_t lcid, Ptr<LteTft> tft)
+LteUeRrc::SetupRadioBearer (uint16_t rnti, EpsBearer bearer, TypeId rlcTypeId, uint8_t lcid, Ptr<EpcTft> tft)
 {
   NS_LOG_FUNCTION (this << (uint32_t)  rnti << (uint32_t) lcid);
 
@@ -229,7 +229,7 @@
 LteUeRrc::Send (Ptr<Packet> packet)
 {
   NS_LOG_FUNCTION (this << packet);
-  uint8_t lcid = m_tftClassifier.Classify (packet, LteTft::UPLINK);
+  uint8_t lcid = m_tftClassifier.Classify (packet, EpcTft::UPLINK);
   LtePdcpSapProvider::TransmitRrcPduParameters params;
   params.rrcPdu = packet;
   params.rnti = m_rnti;
--- a/src/lte/model/lte-ue-rrc.h	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/model/lte-ue-rrc.h	Mon Dec 05 21:27:44 2011 +0100
@@ -112,7 +112,7 @@
    * \param tft the Traffic Flow Template identifying this bearer
    *
    */
-  void SetupRadioBearer (uint16_t rnti, EpsBearer bearer, TypeId rlcTypeId, uint8_t lcid, Ptr<LteTft> tft);
+  void SetupRadioBearer (uint16_t rnti, EpsBearer bearer, TypeId rlcTypeId, uint8_t lcid, Ptr<EpcTft> tft);
 
 
   /**
--- a/src/lte/test/epc-test-s1u-downlink.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/test/epc-test-s1u-downlink.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -186,7 +186,7 @@
 
           uint16_t rnti = u+1;
           uint16_t lcid = 1;
-          epcHelper->ActivateEpsBearer (ueLteDevice, lteEnbNetDevice, LteTft::Default (), rnti, lcid);
+          epcHelper->ActivateEpsBearer (ueLteDevice, lteEnbNetDevice, EpcTft::Default (), rnti, lcid);
           
         } 
             
--- a/src/lte/test/epc-test-s1u-uplink.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/test/epc-test-s1u-uplink.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -411,7 +411,7 @@
 
           uint16_t rnti = u+1;
           uint16_t lcid = 1;
-          epcHelper->ActivateEpsBearer (ueLteDevice, lteEnbNetDevice, LteTft::Default (), rnti, lcid);
+          epcHelper->ActivateEpsBearer (ueLteDevice, lteEnbNetDevice, EpcTft::Default (), rnti, lcid);
           
           // need this since all sinks are installed in the same node
           ++udpSinkPort; 
--- a/src/lte/test/lte-test-interference.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/test/lte-test-interference.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -160,8 +160,8 @@
   // Activate an EPS bearer
   enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
   EpsBearer bearer (q);
-  lteHelper->ActivateEpsBearer (ueDevs1, bearer, LteTft::Default ());
-  lteHelper->ActivateEpsBearer (ueDevs2, bearer, LteTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs1, bearer, EpcTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs2, bearer, EpcTft::Default ());
 
   // Use testing chunk processor in the PHY layer
   // It will be used to test that the SNR is as intended
--- a/src/lte/test/lte-test-link-adaptation.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/test/lte-test-link-adaptation.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -191,7 +191,7 @@
   // Activate the default EPS bearer
   enum EpsBearer::Qci q = EpsBearer::NGBR_VIDEO_TCP_DEFAULT;
   EpsBearer bearer (q);
-  lteHelper->ActivateEpsBearer (ueDevs, bearer, LteTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs, bearer, EpcTft::Default ());
 
   // Use testing chunk processor in the PHY layer
   // It will be used to test that the SNR is as intended
--- a/src/lte/test/lte-test-pathloss-model.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/test/lte-test-pathloss-model.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -260,7 +260,7 @@
   // Activate an EPS bearer
   enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
   EpsBearer bearer (q);
-  lteHelper->ActivateEpsBearer (ueDevs, bearer, LteTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs, bearer, EpcTft::Default ());
   
   // Use testing chunk processor in the PHY layer
   // It will be used to test that the SNR is as intended
--- a/src/lte/test/lte-test-pf-ff-mac-scheduler.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/test/lte-test-pf-ff-mac-scheduler.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -269,7 +269,7 @@
   // Activate an EPS bearer
   enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
   EpsBearer bearer (q);
-  lteHelper->ActivateEpsBearer (ueDevs, bearer, LteTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs, bearer, EpcTft::Default ());
 
   Ptr<LteEnbNetDevice> lteEnbDev = enbDevs.Get (0)->GetObject<LteEnbNetDevice> ();
   Ptr<LteEnbPhy> enbPhy = lteEnbDev->GetPhy ();
@@ -450,7 +450,7 @@
   // Activate an EPS bearer
   enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
   EpsBearer bearer (q);
-  lteHelper->ActivateEpsBearer (ueDevs, bearer, LteTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs, bearer, EpcTft::Default ());
 
   Ptr<LteEnbNetDevice> lteEnbDev = enbDevs.Get (0)->GetObject<LteEnbNetDevice> ();
   Ptr<LteEnbPhy> enbPhy = lteEnbDev->GetPhy ();
--- a/src/lte/test/lte-test-rr-ff-mac-scheduler.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/test/lte-test-rr-ff-mac-scheduler.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -257,7 +257,7 @@
   // Activate an EPS bearer
   enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
   EpsBearer bearer (q);
-  lteHelper->ActivateEpsBearer (ueDevs, bearer, LteTft::Default ());
+  lteHelper->ActivateEpsBearer (ueDevs, bearer, EpcTft::Default ());
   
 
   Ptr<LteEnbNetDevice> lteEnbDev = enbDevs.Get (0)->GetObject<LteEnbNetDevice> ();
--- a/src/lte/test/test-eps-tft-classifier.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/test/test-eps-tft-classifier.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -41,7 +41,7 @@
 {
 public:
   EpsTftClassifierTestCase (Ptr<EpsTftClassifier> c,
-                            LteTft::Direction d,
+                            EpcTft::Direction d,
                             Ipv4Address sa, 
                             Ipv4Address da, 
                             uint16_t sp,
@@ -53,14 +53,14 @@
 private:
   
   Ptr<EpsTftClassifier> m_c;
-  LteTft::Direction m_d;
+  EpcTft::Direction m_d;
   uint8_t m_tftId;
   Ipv4Header m_ipHeader;
   UdpHeader m_udpHeader;
   TcpHeader m_tcpHeader;
 
   static std::string BuildNameString (Ptr<EpsTftClassifier> c,
-                                      LteTft::Direction d,
+                                      EpcTft::Direction d,
                                       Ipv4Address sa, 
                                       Ipv4Address da, 
                                       uint16_t sp,
@@ -71,7 +71,7 @@
 };
 
 EpsTftClassifierTestCase::EpsTftClassifierTestCase (Ptr<EpsTftClassifier> c,
-                                                    LteTft::Direction d,
+                                                    EpcTft::Direction d,
                                                     Ipv4Address sa, 
                                                     Ipv4Address da, 
                                                     uint16_t sp,
@@ -99,7 +99,7 @@
 
 std::string
 EpsTftClassifierTestCase::BuildNameString (Ptr<EpsTftClassifier> c,
-                                           LteTft::Direction d,
+                                           EpcTft::Direction d,
                                            Ipv4Address sa, 
                                            Ipv4Address da, 
                                            uint16_t sp,
@@ -158,16 +158,16 @@
   Ptr<EpsTftClassifier> c1 = Create<EpsTftClassifier> ();
   
 
-  Ptr<LteTft> tft1_1 = Create<LteTft> ();
+  Ptr<EpcTft> tft1_1 = Create<EpcTft> ();
 
-  LteTft::PacketFilter pf1_1_1;
+  EpcTft::PacketFilter pf1_1_1;
   pf1_1_1.remoteAddress.Set ("1.0.0.0");
   pf1_1_1.localAddress.Set ("2.0.0.0");
   pf1_1_1.remoteMask.Set (0xFF000000);
   pf1_1_1.localMask.Set (0xFF000000);
   tft1_1->Add (pf1_1_1);
 
-  LteTft::PacketFilter pf1_1_2;
+  EpcTft::PacketFilter pf1_1_2;
   pf1_1_2.remoteAddress.Set ("3.3.3.0");
   pf1_1_2.localAddress.Set ("4.4.4.0");
   pf1_1_2.remoteMask.Set (0xFFFFFF00);
@@ -178,26 +178,26 @@
 
 
 
-  Ptr<LteTft> tft1_2 = Create<LteTft> ();
+  Ptr<EpcTft> tft1_2 = Create<EpcTft> ();
 
-  LteTft::PacketFilter pf1_2_1;
+  EpcTft::PacketFilter pf1_2_1;
   pf1_2_1.remotePortStart = 1024;
   pf1_2_1.remotePortEnd   = 1035;
   tft1_2->Add (pf1_2_1);
 
-  LteTft::PacketFilter pf1_2_2;
+  EpcTft::PacketFilter pf1_2_2;
   pf1_2_2.localPortStart = 3456;
   pf1_2_2.localPortEnd   = 3489;
   tft1_2->Add (pf1_2_2);
 
 
-  LteTft::PacketFilter pf1_2_3;
+  EpcTft::PacketFilter pf1_2_3;
   pf1_2_3.localPortStart = 7895;
   pf1_2_3.localPortEnd   = 7895;
   tft1_2->Add (pf1_2_3);
 
 
-  LteTft::PacketFilter pf1_2_4;
+  EpcTft::PacketFilter pf1_2_4;
   pf1_2_4.remotePortStart = 5897;
   pf1_2_4.remotePortEnd   = 5897;
   tft1_2->Add (pf1_2_4);
@@ -208,33 +208,33 @@
   // ------------------------------------classifier---direction--------------src address---------------dst address---src port--dst port--ToS--TFT id
 
   // test IP addresses
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::UPLINK,   Ipv4Address ("2.2.3.4"), Ipv4Address ("1.1.1.1"),     4,     1234,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::UPLINK,   Ipv4Address ("2.2.3.4"), Ipv4Address ("1.0.0.0"),     2,      123,     5,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::UPLINK,   Ipv4Address ("6.2.3.4"), Ipv4Address ("1.1.1.1"),     4,     1234,     0,    0));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::DOWNLINK, Ipv4Address ("3.3.3.4"), Ipv4Address ("4.4.4.1"),     4,     1234,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::DOWNLINK, Ipv4Address ("3.3.4.4"), Ipv4Address ("4.4.4.1"),     4,     1234,     0,    0));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::UPLINK,   Ipv4Address ("3.3.3.4"), Ipv4Address ("4.4.2.1"),     4,     1234,     0,    0));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::UPLINK,   Ipv4Address ("2.2.3.4"), Ipv4Address ("1.1.1.1"),     4,     1234,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::UPLINK,   Ipv4Address ("2.2.3.4"), Ipv4Address ("1.0.0.0"),     2,      123,     5,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::UPLINK,   Ipv4Address ("6.2.3.4"), Ipv4Address ("1.1.1.1"),     4,     1234,     0,    0));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::DOWNLINK, Ipv4Address ("3.3.3.4"), Ipv4Address ("4.4.4.1"),     4,     1234,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::DOWNLINK, Ipv4Address ("3.3.4.4"), Ipv4Address ("4.4.4.1"),     4,     1234,     0,    0));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::UPLINK,   Ipv4Address ("3.3.3.4"), Ipv4Address ("4.4.2.1"),     4,     1234,     0,    0));
 
   // test remote port
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1024,     0,    2));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1025,     0,    2));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1035,     0,    2));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1234,     0,    0));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1024,     0,    0));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1025,     0,    0));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1035,     0,    0));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1024,     0,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1025,     0,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1035,     0,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1234,     0,    0));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1024,     0,    0));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1025,     0,    0));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1035,     0,    0));
 
   // test local port
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3456,     0,    0));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3457,     0,    0));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3489,     0,    0));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  3456,        6,     0,    2));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  3461,     3461,     0,    2));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     3489,     0,    2));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     7895,     0,    2));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  7895,       10,     0,    2));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     5897,     0,    2));
-  AddTestCase (new EpsTftClassifierTestCase (c1, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  5897,       10,     0,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3456,     0,    0));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3457,     0,    0));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3489,     0,    0));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  3456,        6,     0,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  3461,     3461,     0,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     3489,     0,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     7895,     0,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  7895,       10,     0,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     5897,     0,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c1, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  5897,       10,     0,    2));
 
 
   ///////////////////////////
@@ -242,34 +242,34 @@
   ///////////////////////////
 
   Ptr<EpsTftClassifier> c2 = Create<EpsTftClassifier> ();
-  c2->Add (LteTft::Default (), 1);
+  c2->Add (EpcTft::Default (), 1);
 
   // ------------------------------------classifier---direction--------------src address---------------dst address---src port--dst port--ToS--TFT id
 
   // test IP addresses
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::UPLINK,   Ipv4Address ("2.2.3.4"), Ipv4Address ("1.1.1.1"),     4,     1234,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::UPLINK,   Ipv4Address ("2.2.3.4"), Ipv4Address ("1.0.0.0"),     2,      123,     5,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::UPLINK,   Ipv4Address ("6.2.3.4"), Ipv4Address ("1.1.1.1"),     4,     1234,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::DOWNLINK, Ipv4Address ("3.3.3.4"), Ipv4Address ("4.4.4.1"),     4,     1234,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::DOWNLINK, Ipv4Address ("3.3.4.4"), Ipv4Address ("4.4.4.1"),     4,     1234,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::UPLINK,   Ipv4Address ("3.3.3.4"), Ipv4Address ("4.4.2.1"),     4,     1234,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::UPLINK,   Ipv4Address ("2.2.3.4"), Ipv4Address ("1.1.1.1"),     4,     1234,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::UPLINK,   Ipv4Address ("2.2.3.4"), Ipv4Address ("1.0.0.0"),     2,      123,     5,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::UPLINK,   Ipv4Address ("6.2.3.4"), Ipv4Address ("1.1.1.1"),     4,     1234,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::DOWNLINK, Ipv4Address ("3.3.3.4"), Ipv4Address ("4.4.4.1"),     4,     1234,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::DOWNLINK, Ipv4Address ("3.3.4.4"), Ipv4Address ("4.4.4.1"),     4,     1234,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::UPLINK,   Ipv4Address ("3.3.3.4"), Ipv4Address ("4.4.2.1"),     4,     1234,     0,    1));
 
   // test remote port
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1024,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1025,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1035,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1234,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1024,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1025,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1035,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1024,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1025,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1035,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1234,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1024,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1025,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1035,     0,    1));
 
   // test local port
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3456,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3457,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3489,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  3456,        6,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  3461,     3461,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c2, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     3489,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3456,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3457,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3489,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  3456,        6,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  3461,     3461,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c2, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     3489,     0,    1));
 
   
 
@@ -278,36 +278,36 @@
   ///////////////////////////////////////////
 
   Ptr<EpsTftClassifier> c3 = Create<EpsTftClassifier> ();
-  c3->Add (LteTft::Default (), 1);
+  c3->Add (EpcTft::Default (), 1);
   c3->Add (tft1_1, 2);
   c3->Add (tft1_2, 3);
 
   // ------------------------------------classifier---direction--------------src address---------------dst address---src port--dst port--ToS--TFT id
 
   // test IP addresses
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::UPLINK,   Ipv4Address ("2.2.3.4"), Ipv4Address ("1.1.1.1"),     4,     1234,     0,    2));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::UPLINK,   Ipv4Address ("2.2.3.4"), Ipv4Address ("1.0.0.0"),     2,      123,     5,    2));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::UPLINK,   Ipv4Address ("6.2.3.4"), Ipv4Address ("1.1.1.1"),     4,     1234,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::DOWNLINK, Ipv4Address ("3.3.3.4"), Ipv4Address ("4.4.4.1"),     4,     1234,     0,    2));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::DOWNLINK, Ipv4Address ("3.3.4.4"), Ipv4Address ("4.4.4.1"),     4,     1234,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::UPLINK,   Ipv4Address ("3.3.3.4"), Ipv4Address ("4.4.2.1"),     4,     1234,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::UPLINK,   Ipv4Address ("2.2.3.4"), Ipv4Address ("1.1.1.1"),     4,     1234,     0,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::UPLINK,   Ipv4Address ("2.2.3.4"), Ipv4Address ("1.0.0.0"),     2,      123,     5,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::UPLINK,   Ipv4Address ("6.2.3.4"), Ipv4Address ("1.1.1.1"),     4,     1234,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::DOWNLINK, Ipv4Address ("3.3.3.4"), Ipv4Address ("4.4.4.1"),     4,     1234,     0,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::DOWNLINK, Ipv4Address ("3.3.4.4"), Ipv4Address ("4.4.4.1"),     4,     1234,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::UPLINK,   Ipv4Address ("3.3.3.4"), Ipv4Address ("4.4.2.1"),     4,     1234,     0,    1));
 
   // test remote port
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1024,     0,    3));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1025,     0,    3));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1035,     0,    3));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1234,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1024,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1025,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1035,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1024,     0,    3));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1025,     0,    3));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1035,     0,    3));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1234,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1024,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1025,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     1035,     0,    1));
 
   // test local port
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3456,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3457,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3489,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  3456,        6,     0,    3));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  3461,     3461,     0,    3));
-  AddTestCase (new EpsTftClassifierTestCase (c3, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     3489,     0,    3));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3456,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3457,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     4,     3489,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  3456,        6,     0,    3));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  3461,     3461,     0,    3));
+  AddTestCase (new EpsTftClassifierTestCase (c3, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     3489,     0,    3));
 
 
 
@@ -316,17 +316,17 @@
   ///////////////////////////////////////////
 
   Ptr<EpsTftClassifier> c4 = Create<EpsTftClassifier> ();
-  Ptr<LteTft> tft4_1 = Create<LteTft> ();
+  Ptr<EpcTft> tft4_1 = Create<EpcTft> ();
   tft4_1->Add (pf1_2_3);  
   c4->Add (tft4_1, 1);
-  Ptr<LteTft> tft4_2 = Create<LteTft> ();
+  Ptr<EpcTft> tft4_2 = Create<EpcTft> ();
   tft4_2->Add (pf1_2_4);
   c4->Add (tft4_2, 2);
-  AddTestCase (new EpsTftClassifierTestCase (c4, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     3489,     0,    0));
-  AddTestCase (new EpsTftClassifierTestCase (c4, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     7895,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c4, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  7895,       10,     0,    1));
-  AddTestCase (new EpsTftClassifierTestCase (c4, LteTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     5897,     0,    2));
-  AddTestCase (new EpsTftClassifierTestCase (c4, LteTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  5897,       10,     0,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c4, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     3489,     0,    0));
+  AddTestCase (new EpsTftClassifierTestCase (c4, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     7895,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c4, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  7895,       10,     0,    1));
+  AddTestCase (new EpsTftClassifierTestCase (c4, EpcTft::UPLINK,   Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),     9,     5897,     0,    2));
+  AddTestCase (new EpsTftClassifierTestCase (c4, EpcTft::DOWNLINK, Ipv4Address ("9.1.1.1"), Ipv4Address ("8.1.1.1"),  5897,       10,     0,    2));
 
 }
 
--- a/src/lte/test/test-lte-epc-e2e-data.cc	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/test/test-lte-epc-e2e-data.cc	Mon Dec 05 21:27:44 2011 +0100
@@ -237,12 +237,12 @@
 
               EpsBearer epsBearer (EpsBearer::NGBR_VIDEO_TCP_DEFAULT);
 
-              Ptr<LteTft> tft = Create<LteTft> ();
-              LteTft::PacketFilter dlpf;
+              Ptr<EpcTft> tft = Create<EpcTft> ();
+              EpcTft::PacketFilter dlpf;
               dlpf.localPortStart = dlPort;
               dlpf.localPortEnd = dlPort;
               tft->Add (dlpf);
-              LteTft::PacketFilter ulpf;
+              EpcTft::PacketFilter ulpf;
               ulpf.remotePortStart = ulPort;
               ulpf.remotePortEnd = ulPort;
               tft->Add (ulpf);                            
--- a/src/lte/wscript	Mon Dec 05 21:24:51 2011 +0100
+++ b/src/lte/wscript	Mon Dec 05 21:27:44 2011 +0100
@@ -60,7 +60,7 @@
         'model/epc-gtpu-tunnel-endpoint.cc',
         'model/epc-enb-application.cc',
         'model/epc-sgw-pgw-application.cc',
-        'model/lte-tft.cc',
+        'model/epc-tft.cc',
         'model/eps-tft-classifier.cc',
         ]
 
@@ -160,7 +160,7 @@
         'test/lte-test-rlc-am-transmitter.h',
         'test/lte-test-pathloss-model.h',
         'test/epc-test-gtpu.h',
-        'model/lte-tft.h',
+        'model/epc-tft.h',
         'model/eps-tft-classifier.h',
         ]