A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::EpcTft::PacketFilter Struct Reference

Implement the data structure representing a TrafficFlowTemplate Packet Filter. More...

#include "epc-tft.h"

+ Collaboration diagram for ns3::EpcTft::PacketFilter:

Public Member Functions

 PacketFilter ()
 
bool Matches (Direction d, Ipv4Address ra, Ipv4Address la, uint16_t rp, uint16_t lp, uint8_t tos)
 
bool Matches (Direction d, Ipv6Address ra, Ipv6Address la, uint16_t rp, uint16_t lp, uint8_t tos)
 

Public Attributes

Direction direction
 Whether the filter needs to be applied to uplink / downlink only, or in both cases.
 
Ipv4Address localAddress
 IPv4 address of the UE.
 
Ipv6Address localIpv6Address
 IPv6 address of the UE.
 
Ipv6Prefix localIpv6Prefix
 IPv6 address prefix of the UE.
 
Ipv4Mask localMask
 IPv4 address mask of the UE.
 
uint16_t localPortEnd
 end of the port number range of the UE
 
uint16_t localPortStart
 start of the port number range of the UE
 
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.
 
Ipv4Address remoteAddress
 IPv4 address of the remote host.
 
Ipv6Address remoteIpv6Address
 IPv6 address of the remote host.
 
Ipv6Prefix remoteIpv6Prefix
 IPv6 address prefix of the remote host.
 
Ipv4Mask remoteMask
 IPv4 address mask of the remote host.
 
uint16_t remotePortEnd
 end of the port number range of the remote host
 
uint16_t remotePortStart
 start of the port number range of the remote host
 
uint8_t typeOfService
 type of service field
 
uint8_t typeOfServiceMask
 type of service field mask
 

Detailed Description

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

Definition at line 70 of file epc-tft.h.

Constructor & Destructor Documentation

◆ PacketFilter()

ns3::EpcTft::PacketFilter::PacketFilter ( )

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

References NS_LOG_FUNCTION.

Member Function Documentation

◆ Matches() [1/2]

bool ns3::EpcTft::PacketFilter::Matches ( Direction  d,
Ipv4Address  ra,
Ipv4Address  la,
uint16_t  rp,
uint16_t  lp,
uint8_t  tos 
)
Parameters
dthe direction
rathe remote address
lathe local address
rpthe remote port
lpthe local port
tosthe type of service
Returns
true if the parameters match with the PacketFilter, false otherwise.

Definition at line 93 of file epc-tft.cc.

References NS_LOG_FUNCTION, and NS_LOG_LOGIC.

◆ Matches() [2/2]

bool ns3::EpcTft::PacketFilter::Matches ( Direction  d,
Ipv6Address  ra,
Ipv6Address  la,
uint16_t  rp,
uint16_t  lp,
uint8_t  tos 
)
Parameters
dthe direction
rathe remote address
lathe local address
rpthe remote port
lpthe local port
tosthe type of service
Returns
true if the parameters match with the PacketFilter, false otherwise.

Definition at line 161 of file epc-tft.cc.

References NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Member Data Documentation

◆ direction

Direction ns3::EpcTft::PacketFilter::direction

Whether the filter needs to be applied to uplink / downlink only, or in both cases.

Definition at line 117 of file epc-tft.h.

Referenced by ns3::GtpcIes::DeserializeBearerTft(), and ns3::operator<<().

◆ localAddress

Ipv4Address ns3::EpcTft::PacketFilter::localAddress

◆ localIpv6Address

Ipv6Address ns3::EpcTft::PacketFilter::localIpv6Address

IPv6 address of the UE.

Definition at line 126 of file epc-tft.h.

Referenced by EpcTftClassifierTestSuite::EpcTftClassifierTestSuite(), and ns3::operator<<().

◆ localIpv6Prefix

Ipv6Prefix ns3::EpcTft::PacketFilter::localIpv6Prefix

IPv6 address prefix of the UE.

Definition at line 127 of file epc-tft.h.

Referenced by EpcTftClassifierTestSuite::EpcTftClassifierTestSuite(), and ns3::operator<<().

◆ localMask

Ipv4Mask ns3::EpcTft::PacketFilter::localMask

IPv4 address mask of the UE.

Definition at line 122 of file epc-tft.h.

Referenced by EpcTftClassifierTestSuite::EpcTftClassifierTestSuite(), ns3::GtpcIes::DeserializeBearerTft(), and ns3::operator<<().

◆ localPortEnd

◆ localPortStart

◆ precedence

uint8_t ns3::EpcTft::PacketFilter::precedence

Used to specify the precedence for the packet filter among all packet filters in the TFT; higher values will be evaluated last.

Definition at line 114 of file epc-tft.h.

Referenced by ns3::EpcTft::Add(), and ns3::GtpcIes::DeserializeBearerTft().

◆ remoteAddress

Ipv4Address ns3::EpcTft::PacketFilter::remoteAddress

IPv4 address of the remote host.

Definition at line 119 of file epc-tft.h.

Referenced by EpcTftClassifierTestSuite::EpcTftClassifierTestSuite(), ns3::GtpcIes::DeserializeBearerTft(), and ns3::operator<<().

◆ remoteIpv6Address

Ipv6Address ns3::EpcTft::PacketFilter::remoteIpv6Address

IPv6 address of the remote host.

Definition at line 124 of file epc-tft.h.

Referenced by EpcTftClassifierTestSuite::EpcTftClassifierTestSuite(), and ns3::operator<<().

◆ remoteIpv6Prefix

Ipv6Prefix ns3::EpcTft::PacketFilter::remoteIpv6Prefix

IPv6 address prefix of the remote host.

Definition at line 125 of file epc-tft.h.

Referenced by EpcTftClassifierTestSuite::EpcTftClassifierTestSuite(), and ns3::operator<<().

◆ remoteMask

Ipv4Mask ns3::EpcTft::PacketFilter::remoteMask

IPv4 address mask of the remote host.

Definition at line 120 of file epc-tft.h.

Referenced by EpcTftClassifierTestSuite::EpcTftClassifierTestSuite(), ns3::GtpcIes::DeserializeBearerTft(), and ns3::operator<<().

◆ remotePortEnd

◆ remotePortStart

◆ typeOfService

uint8_t ns3::EpcTft::PacketFilter::typeOfService

type of service field

Definition at line 134 of file epc-tft.h.

Referenced by ns3::GtpcIes::DeserializeBearerTft(), and ns3::operator<<().

◆ typeOfServiceMask

uint8_t ns3::EpcTft::PacketFilter::typeOfServiceMask

type of service field mask

Definition at line 135 of file epc-tft.h.

Referenced by ns3::GtpcIes::DeserializeBearerTft(), and ns3::operator<<().


The documentation for this struct was generated from the following files: