A Discrete-Event Network Simulator
API
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
EpcTftClassifierTestCase Class Reference

Test case to check the functionality of the Tft Classifier. More...

+ Inheritance diagram for EpcTftClassifierTestCase:

Public Member Functions

 EpcTftClassifierTestCase (Ptr< EpcTftClassifier > c, EpcTft::Direction d, Ipv4Address sa, Ipv4Address da, uint16_t sp, uint16_t dp, uint8_t tos, uint32_t tftId)
 Constructor. More...
 
virtual ~EpcTftClassifierTestCase ()
 
- Public Member Functions inherited from ns3::TestCase
virtual ~TestCase ()
 Destructor. More...
 
std::string GetName (void) const
 

Private Member Functions

virtual void DoRun (void)
 Implementation to actually run this TestCase. More...
 

Static Private Member Functions

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)
 Build name string. More...
 

Private Attributes

Ptr< EpcTftClassifierm_c
 the EPC TFT classifier More...
 
EpcTft::Direction m_d
 the EPC TFT direction More...
 
Ipv4Header m_ipHeader
 the IPv4 header More...
 
TcpHeader m_tcpHeader
 the TCP header More...
 
uint8_t m_tftId
 the TFT ID More...
 
UdpHeader m_udpHeader
 the UDP header More...
 

Additional Inherited Members

- Public Types inherited from ns3::TestCase
enum  TestDuration { QUICK = 1, EXTENSIVE = 2, TAKES_FOREVER = 3 }
 How long the test takes to execute. More...
 
- Protected Member Functions inherited from ns3::TestCase
 TestCase (std::string name)
 Constructor. More...
 
void AddTestCase (TestCase *testCase, TestDuration duration=QUICK)
 Add an individual child TestCase to this test suite. More...
 
TestCaseGetParent () const
 Get the parent of this TestCsse. More...
 
bool IsStatusFailure (void) const
 Check if any tests failed. More...
 
bool IsStatusSuccess (void) const
 Check if all tests passed. More...
 
void SetDataDir (std::string directory)
 Set the data directory where reference trace files can be found. More...
 
void ReportTestFailure (std::string cond, std::string actual, std::string limit, std::string message, std::string file, int32_t line)
 Log the failure of this TestCase. More...
 
bool MustAssertOnFailure (void) const
 Check if this run should assert on failure. More...
 
bool MustContinueOnFailure (void) const
 Check if this run should continue on failure. More...
 
std::string CreateDataDirFilename (std::string filename)
 Construct the full path to a file in the data directory. More...
 
std::string CreateTempDirFilename (std::string filename)
 Construct the full path to a file in a temporary directory. More...
 

Detailed Description

Test case to check the functionality of the Tft Classifier.

Test consist of defining different TFT configurations, i.e. direction, ports, address, and it is checking if the clasiffication of UDP packets is done correctly.

Definition at line 49 of file test-epc-tft-classifier.cc.

Constructor & Destructor Documentation

◆ EpcTftClassifierTestCase()

EpcTftClassifierTestCase::EpcTftClassifierTestCase ( Ptr< EpcTftClassifier c,
EpcTft::Direction  d,
Ipv4Address  sa,
Ipv4Address  da,
uint16_t  sp,
uint16_t  dp,
uint8_t  tos,
uint32_t  tftId 
)

Constructor.

Parameters
cthe EPC TFT classifier
dthe EPC TFT direction
sathe source address
dathe destination address
spthe source port
dpthe destination port
tosthe TOS
tftIdthe TFT ID

Definition at line 106 of file test-epc-tft-classifier.cc.

References m_ipHeader, m_udpHeader, NS_LOG_FUNCTION, ns3::Ipv4Header::SetDestination(), ns3::UdpHeader::SetDestinationPort(), ns3::Ipv4Header::SetPayloadSize(), ns3::Ipv4Header::SetSource(), ns3::UdpHeader::SetSourcePort(), and ns3::Ipv4Header::SetTos().

◆ ~EpcTftClassifierTestCase()

EpcTftClassifierTestCase::~EpcTftClassifierTestCase ( )
virtual

Definition at line 130 of file test-epc-tft-classifier.cc.

Member Function Documentation

◆ BuildNameString()

std::string EpcTftClassifierTestCase::BuildNameString ( Ptr< EpcTftClassifier c,
EpcTft::Direction  d,
Ipv4Address  sa,
Ipv4Address  da,
uint16_t  sp,
uint16_t  dp,
uint8_t  tos,
uint32_t  tftId 
)
staticprivate

Build name string.

Parameters
cthe EPC TFT classifier
dthe EPC TFT direction
sathe source address
dathe destination address
spthe source port
dpthe destination port
tosthe TOS
tftIdthe TFT ID
Returns
the name string

Definition at line 135 of file test-epc-tft-classifier.cc.

◆ DoRun()

void EpcTftClassifierTestCase::DoRun ( void  )
privatevirtual

Implementation to actually run this TestCase.

Subclasses should override this method to conduct their tests.

Implements ns3::TestCase.

Definition at line 157 of file test-epc-tft-classifier.cc.

References ns3::Packet::AddHeader(), ns3::EpcTftClassifier::Classify(), ns3::PacketMetadata::Enable(), m_c, m_d, m_ipHeader, m_tftId, m_udpHeader, NS_LOG_LOGIC(), NS_TEST_ASSERT_MSG_EQ, and ns3::Ipv4Header::SetProtocol().

Member Data Documentation

◆ m_c

Ptr<EpcTftClassifier> EpcTftClassifierTestCase::m_c
private

the EPC TFT classifier

Definition at line 76 of file test-epc-tft-classifier.cc.

Referenced by DoRun().

◆ m_d

EpcTft::Direction EpcTftClassifierTestCase::m_d
private

the EPC TFT direction

Definition at line 77 of file test-epc-tft-classifier.cc.

Referenced by DoRun().

◆ m_ipHeader

Ipv4Header EpcTftClassifierTestCase::m_ipHeader
private

the IPv4 header

Definition at line 79 of file test-epc-tft-classifier.cc.

Referenced by DoRun(), and EpcTftClassifierTestCase().

◆ m_tcpHeader

TcpHeader EpcTftClassifierTestCase::m_tcpHeader
private

the TCP header

Definition at line 81 of file test-epc-tft-classifier.cc.

◆ m_tftId

uint8_t EpcTftClassifierTestCase::m_tftId
private

the TFT ID

Definition at line 78 of file test-epc-tft-classifier.cc.

Referenced by DoRun().

◆ m_udpHeader

UdpHeader EpcTftClassifierTestCase::m_udpHeader
private

the UDP header

Definition at line 80 of file test-epc-tft-classifier.cc.

Referenced by DoRun(), and EpcTftClassifierTestCase().


The documentation for this class was generated from the following file: