renamed LteTft --> EpcTft
This commit is contained in:
@@ -523,9 +523,9 @@ additionally do like this::
|
||||
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.
|
||||
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ int main (int argc, char *argv[])
|
||||
// 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));
|
||||
|
||||
@@ -103,7 +103,7 @@ int main (int argc, char *argv[])
|
||||
// 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));
|
||||
|
||||
@@ -123,8 +123,8 @@ int main (int argc, char *argv[])
|
||||
// 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));
|
||||
|
||||
|
||||
@@ -226,8 +226,8 @@ int main (int argc, char *argv[])
|
||||
// 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));
|
||||
|
||||
|
||||
@@ -199,7 +199,7 @@ main (int argc, char *argv[])
|
||||
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));
|
||||
|
||||
@@ -73,7 +73,7 @@ int main (int argc, char *argv[])
|
||||
// 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));
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ main (int argc, char *argv[])
|
||||
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
|
||||
|
||||
@@ -78,7 +78,7 @@ int main (int argc, char *argv[])
|
||||
// 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));
|
||||
|
||||
@@ -186,7 +186,7 @@ EpcHelper::AddEnb (Ptr<Node> enb, Ptr<NetDevice> lteEnbNetDevice)
|
||||
|
||||
|
||||
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> ();
|
||||
|
||||
@@ -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 @@ public:
|
||||
* \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);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -452,7 +452,7 @@ LteHelper::Attach (Ptr<NetDevice> ueDevice, Ptr<NetDevice> enbDevice)
|
||||
|
||||
|
||||
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 @@ LteHelper::ActivateEpsBearer (NetDeviceContainer ueDevices, EpsBearer bearer, Pt
|
||||
|
||||
|
||||
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 ();
|
||||
|
||||
@@ -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 @@ public:
|
||||
* \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 @@ public:
|
||||
* \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);
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
@@ -44,7 +44,7 @@ EpcSgwPgwApplication::UeInfo::UeInfo ()
|
||||
}
|
||||
|
||||
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 @@ EpcSgwPgwApplication::UeInfo::Classify (Ptr<Packet> p)
|
||||
// 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 @@ EpcSgwPgwApplication::~EpcSgwPgwApplication ()
|
||||
|
||||
|
||||
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);
|
||||
|
||||
|
||||
@@ -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 @@ public:
|
||||
*
|
||||
* \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 @@ private:
|
||||
* \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);
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
@@ -21,23 +21,23 @@
|
||||
|
||||
|
||||
|
||||
#include "lte-tft.h"
|
||||
#include "epc-tft.h"
|
||||
#include "ns3/abort.h"
|
||||
#include "ns3/log.h"
|
||||
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
NS_LOG_COMPONENT_DEFINE ("LteTft");
|
||||
NS_LOG_COMPONENT_DEFINE ("EpcTft");
|
||||
|
||||
std::ostream& operator<< (std::ostream& os, LteTft::Direction& d)
|
||||
std::ostream& operator<< (std::ostream& os, EpcTft::Direction& d)
|
||||
{
|
||||
switch (d)
|
||||
{
|
||||
case LteTft::DOWNLINK:
|
||||
case EpcTft::DOWNLINK:
|
||||
os << "DOWNLINK";
|
||||
break;
|
||||
case LteTft::UPLINK:
|
||||
case EpcTft::UPLINK:
|
||||
os << "UPLINK";
|
||||
break;
|
||||
default:
|
||||
@@ -48,7 +48,7 @@ std::ostream& operator<< (std::ostream& os, LteTft::Direction& d)
|
||||
}
|
||||
|
||||
|
||||
std::ostream& operator<< (std::ostream& os, LteTft::PacketFilter& f)
|
||||
std::ostream& operator<< (std::ostream& os, EpcTft::PacketFilter& f)
|
||||
{
|
||||
os << " direction: " << f.direction
|
||||
<< " remoteAddress: " << f.remoteAddress
|
||||
@@ -64,7 +64,7 @@ std::ostream& operator<< (std::ostream& os, LteTft::PacketFilter& f)
|
||||
return os;
|
||||
}
|
||||
|
||||
LteTft::PacketFilter::PacketFilter ()
|
||||
EpcTft::PacketFilter::PacketFilter ()
|
||||
: precedence (255),
|
||||
direction (BIDIRECTIONAL),
|
||||
remoteMask ("0.0.0.0"),
|
||||
@@ -80,7 +80,7 @@ LteTft::PacketFilter::PacketFilter ()
|
||||
}
|
||||
|
||||
bool
|
||||
LteTft::PacketFilter::Matches (Direction d,
|
||||
EpcTft::PacketFilter::Matches (Direction d,
|
||||
Ipv4Address ra,
|
||||
Ipv4Address la,
|
||||
uint16_t rp,
|
||||
@@ -137,24 +137,24 @@ LteTft::PacketFilter::Matches (Direction d,
|
||||
}
|
||||
|
||||
|
||||
Ptr<LteTft>
|
||||
LteTft::Default ()
|
||||
Ptr<EpcTft>
|
||||
EpcTft::Default ()
|
||||
{
|
||||
Ptr<LteTft> tft = Create<LteTft> ();
|
||||
LteTft::PacketFilter defaultPacketFilter;
|
||||
Ptr<EpcTft> tft = Create<EpcTft> ();
|
||||
EpcTft::PacketFilter defaultPacketFilter;
|
||||
tft->Add (defaultPacketFilter);
|
||||
return tft;
|
||||
}
|
||||
|
||||
|
||||
LteTft::LteTft ()
|
||||
EpcTft::EpcTft ()
|
||||
: m_numFilters (0)
|
||||
{
|
||||
NS_LOG_FUNCTION (this);
|
||||
}
|
||||
|
||||
uint8_t
|
||||
LteTft::Add (PacketFilter f)
|
||||
EpcTft::Add (PacketFilter f)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << f);
|
||||
NS_ABORT_IF (m_numFilters >= 16);
|
||||
@@ -171,7 +171,7 @@ LteTft::Add (PacketFilter f)
|
||||
}
|
||||
|
||||
bool
|
||||
LteTft::Matches (Direction direction,
|
||||
EpcTft::Matches (Direction direction,
|
||||
Ipv4Address remoteAddress,
|
||||
Ipv4Address localAddress,
|
||||
uint16_t remotePort,
|
||||
@@ -19,8 +19,8 @@
|
||||
*/
|
||||
|
||||
|
||||
#ifndef LTE_TFT_H
|
||||
#define LTE_TFT_H
|
||||
#ifndef EPC_TFT_H
|
||||
#define EPC_TFT_H
|
||||
|
||||
|
||||
#include <ns3/simple-ref-count.h>
|
||||
@@ -37,7 +37,7 @@ namespace ns3 {
|
||||
* which is the set of all packet filters associated with an EPS bearer.
|
||||
*
|
||||
*/
|
||||
class LteTft : public SimpleRefCount<LteTft>
|
||||
class EpcTft : public SimpleRefCount<EpcTft>
|
||||
{
|
||||
|
||||
public:
|
||||
@@ -48,7 +48,7 @@ public:
|
||||
*
|
||||
* \return a newly created TFT that will match any traffic
|
||||
*/
|
||||
static Ptr<LteTft> Default ();
|
||||
static Ptr<EpcTft> Default ();
|
||||
|
||||
/**
|
||||
* Indicates the direction of the traffic that is to be classified.
|
||||
@@ -118,7 +118,7 @@ public:
|
||||
uint8_t typeOfServiceMask; /**< type of service field mask */
|
||||
};
|
||||
|
||||
LteTft ();
|
||||
EpcTft ();
|
||||
|
||||
|
||||
/**
|
||||
@@ -159,11 +159,11 @@ private:
|
||||
};
|
||||
|
||||
|
||||
std::ostream& operator<< (std::ostream& os, LteTft::Direction& d);
|
||||
std::ostream& operator<< (std::ostream& os, EpcTft::Direction& d);
|
||||
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
#endif /* LTE_TFT_H */
|
||||
#endif /* EPC_TFT_H */
|
||||
|
||||
|
||||
@@ -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 @@ EpsTftClassifier::EpsTftClassifier ()
|
||||
}
|
||||
|
||||
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 @@ EpsTftClassifier::Delete (uint32_t id)
|
||||
|
||||
|
||||
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 @@ EpsTftClassifier::Classify (Ptr<Packet> p, LteTft::Direction direction)
|
||||
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 @@ EpsTftClassifier::Classify (Ptr<Packet> p, LteTft::Direction direction)
|
||||
UdpHeader udpHeader;
|
||||
pCopy->RemoveHeader (udpHeader);
|
||||
|
||||
if (direction == LteTft::UPLINK)
|
||||
if (direction == EpcTft::UPLINK)
|
||||
{
|
||||
localPort = udpHeader.GetSourcePort ();
|
||||
remotePort = udpHeader.GetDestinationPort ();
|
||||
@@ -117,7 +117,7 @@ EpsTftClassifier::Classify (Ptr<Packet> p, LteTft::Direction direction)
|
||||
{
|
||||
TcpHeader tcpHeader;
|
||||
pCopy->RemoveHeader (tcpHeader);
|
||||
if (direction == LteTft::UPLINK)
|
||||
if (direction == EpcTft::UPLINK)
|
||||
{
|
||||
localPort = tcpHeader.GetSourcePort ();
|
||||
remotePort = tcpHeader.GetDestinationPort ();
|
||||
@@ -144,14 +144,14 @@ EpsTftClassifier::Classify (Ptr<Packet> p, LteTft::Direction direction)
|
||||
// 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);
|
||||
|
||||
@@ -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 @@ public:
|
||||
* \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 @@ public:
|
||||
*
|
||||
* \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;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -178,7 +178,7 @@ LteUeRrc::ConfigureUe (uint16_t rnti, uint16_t cellId)
|
||||
}
|
||||
|
||||
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 @@ bool
|
||||
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;
|
||||
|
||||
@@ -112,7 +112,7 @@ public:
|
||||
* \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);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -186,7 +186,7 @@ EpcS1uDlTestCase::DoRun ()
|
||||
|
||||
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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -411,7 +411,7 @@ EpcS1uUlTestCase::DoRun ()
|
||||
|
||||
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;
|
||||
|
||||
@@ -160,8 +160,8 @@ LteInterferenceTestCase::DoRun (void)
|
||||
// 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
|
||||
|
||||
@@ -191,7 +191,7 @@ LteLinkAdaptationTestCase::DoRun (void)
|
||||
// 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
|
||||
|
||||
@@ -260,7 +260,7 @@ LtePathlossModelSystemTestCase::DoRun (void)
|
||||
// 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
|
||||
|
||||
@@ -269,7 +269,7 @@ LenaPfFfMacSchedulerTestCase1::DoRun (void)
|
||||
// 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 @@ LenaPfFfMacSchedulerTestCase2::DoRun (void)
|
||||
// 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 ();
|
||||
|
||||
@@ -257,7 +257,7 @@ LenaRrFfMacSchedulerTestCase::DoRun (void)
|
||||
// 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> ();
|
||||
|
||||
@@ -41,7 +41,7 @@ class EpsTftClassifierTestCase : public TestCase
|
||||
{
|
||||
public:
|
||||
EpsTftClassifierTestCase (Ptr<EpsTftClassifier> c,
|
||||
LteTft::Direction d,
|
||||
EpcTft::Direction d,
|
||||
Ipv4Address sa,
|
||||
Ipv4Address da,
|
||||
uint16_t sp,
|
||||
@@ -53,14 +53,14 @@ public:
|
||||
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 @@ private:
|
||||
};
|
||||
|
||||
EpsTftClassifierTestCase::EpsTftClassifierTestCase (Ptr<EpsTftClassifier> c,
|
||||
LteTft::Direction d,
|
||||
EpcTft::Direction d,
|
||||
Ipv4Address sa,
|
||||
Ipv4Address da,
|
||||
uint16_t sp,
|
||||
@@ -99,7 +99,7 @@ EpsTftClassifierTestCase::~EpsTftClassifierTestCase ()
|
||||
|
||||
std::string
|
||||
EpsTftClassifierTestCase::BuildNameString (Ptr<EpsTftClassifier> c,
|
||||
LteTft::Direction d,
|
||||
EpcTft::Direction d,
|
||||
Ipv4Address sa,
|
||||
Ipv4Address da,
|
||||
uint16_t sp,
|
||||
@@ -158,16 +158,16 @@ EpsTftClassifierTestSuite::EpsTftClassifierTestSuite ()
|
||||
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 @@ EpsTftClassifierTestSuite::EpsTftClassifierTestSuite ()
|
||||
|
||||
|
||||
|
||||
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 @@ EpsTftClassifierTestSuite::EpsTftClassifierTestSuite ()
|
||||
// ------------------------------------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 @@ EpsTftClassifierTestSuite::EpsTftClassifierTestSuite ()
|
||||
///////////////////////////
|
||||
|
||||
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 @@ EpsTftClassifierTestSuite::EpsTftClassifierTestSuite ()
|
||||
///////////////////////////////////////////
|
||||
|
||||
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 @@ EpsTftClassifierTestSuite::EpsTftClassifierTestSuite ()
|
||||
///////////////////////////////////////////
|
||||
|
||||
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));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -237,12 +237,12 @@ LteEpcE2eDataTestCase::DoRun ()
|
||||
|
||||
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);
|
||||
|
||||
@@ -60,7 +60,7 @@ def build(bld):
|
||||
'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 @@ def build(bld):
|
||||
'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',
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user