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;
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);
245 c2->
Add (EpcTft::Default (), 1);
281 c3->
Add (EpcTft::Default (), 1);
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.
uint8_t Add(PacketFilter f)
add a PacketFilter to the Traffic Flow Template
EpcTftClassifierTestSuite()
static EpcTftClassifierTestSuite g_lteTftClassifierTestSuite
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
void Add(Ptr< EpcTft > tft, uint32_t id)
add a TFT to the Classifier
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
uint16_t localPortEnd
end of the port number range of the UE
Ptr< EpcTftClassifier > m_c
uint32_t Classify(Ptr< Packet > p, EpcTft::Direction direction)
classify an IP packet
void AddTestCase(TestCase *testCase, enum TestDuration duration)
Add an individual child TestCase to this test suite.
#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.
Ipv4Mask localMask
IPv4 address mask of the UE.
EpcTftClassifierTestCase(Ptr< EpcTftClassifier > c, EpcTft::Direction d, Ipv4Address sa, Ipv4Address da, uint16_t sp, uint16_t dp, uint8_t tos, uint32_t tftId)
#define NS_LOG_LOGIC(msg)
Use NS_LOG to output a message of level LOG_LOGIC.
Ipv4Address remoteAddress
IPv4 address of the remote host.
uint16_t remotePortEnd
end of the port number range of the remote host
Ipv4Address localAddress
IPv4 address of the UE.
void Set(uint32_t mask)
input mask is in host order.
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)
virtual void DoRun(void)
Implementation to actually run this TestCase.
void Set(uint32_t address)
input address is in host order.
Ipv4 addresses are stored in host order in this class.
virtual ~EpcTftClassifierTestCase()
Ipv4Mask remoteMask
IPv4 address mask of the remote host.
void AddHeader(const Header &header)
Add header to this packet.
uint16_t remotePortStart
start of the port number range of the remote host
Implement the data structure representing a TrafficFlowTemplate Packet Filter.
uint16_t localPortStart
start of the port number range of the UE