25 #include "ns3/packet.h"
26 #include "ns3/ipv4-header.h"
27 #include "ns3/udp-header.h"
28 #include "ns3/tcp-header.h"
29 #include "ns3/udp-l4-protocol.h"
30 #include "ns3/tcp-l4-protocol.h"
32 #include "ns3/epc-tft-classifier.h"
70 virtual void DoRun (
void);
81 :
TestCase (BuildNameString (c, d, sa, da, sp, dp, tos, tftId)),
110 std::ostringstream oss;
117 <<
", tos = 0x" << std::hex << (int) tos
118 <<
" --> tftId = " << tftId;
132 uint32_t obtainedTftId =
m_c ->Classify (udpPacket,
m_d);
165 pf1_1_1.localAddress.Set (
"2.0.0.0");
166 pf1_1_1.remoteMask.Set (0xFF000000);
167 pf1_1_1.localMask.Set (0xFF000000);
168 tft1_1->Add (pf1_1_1);
175 tft1_1->Add (pf1_1_2);
185 pf1_2_1.remotePortEnd = 1035;
186 tft1_2->Add (pf1_2_1);
191 tft1_2->Add (pf1_2_2);
197 tft1_2->Add (pf1_2_3);
203 tft1_2->Add (pf1_2_4);
320 tft4_1->Add (pf1_2_3);
323 tft4_2->Add (pf1_2_4);
Direction
Indicates the direction of the traffic that is to be classified.
smart pointer class similar to boost::intrusive_ptr
#define NS_LOG_FUNCTION(parameters)
static Ptr< EpcTft > Default()
creates a TFT matching any traffic
uint16_t localPortEnd
end of the port number range of the UE
virtual void DoRun(void)
Implementation to actually run this TestCase.
EpcTftClassifierTestCase(Ptr< EpcTftClassifier > c, EpcTft::Direction d, Ipv4Address sa, Ipv4Address da, uint16_t sp, uint16_t dp, uint8_t tos, uint32_t tftId)
Ipv4Mask localMask
IPv4 address mask of the UE.
EpcTftClassifierTestSuite()
#define NS_LOG_LOGIC(msg)
Ipv4Address remoteAddress
IPv4 address of the remote host.
uint16_t remotePortEnd
end of the port number range of the remote host
virtual ~EpcTftClassifierTestCase()
Ipv4Address localAddress
IPv4 address of the UE.
void Set(uint32_t mask)
input mask is in host order.
void AddTestCase(TestCase *testCase) NS_DEPRECATED
Add an individual child TestCase case to this TestCase.
void Set(uint32_t address)
input address is in host order.
NS_LOG_COMPONENT_DEFINE("TestEpcTftClassifier")
Ipv4 addresses are stored in host order in this class.
Ipv4Mask remoteMask
IPv4 address mask of the remote host.
static std::string BuildNameString(Ptr< EpcTftClassifier > c, EpcTft::Direction d, Ipv4Address sa, Ipv4Address da, uint16_t sp, uint16_t dp, uint8_t tos, uint32_t tftId)
static EpcTftClassifierTestSuite g_lteTftClassifierTestSuite
Ptr< EpcTftClassifier > m_c
static const uint8_t PROT_NUMBER
protocol number (0x11)
void AddHeader(const Header &header)
Add header to this packet.
uint16_t remotePortStart
start of the port number range of the remote host
#define NS_TEST_ASSERT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report and abort if not.
Implement the data structure representing a TrafficFlowTemplate Packet Filter.
uint16_t localPortStart
start of the port number range of the UE