Managing IP Quality of Service in Oracle® Solaris 11.2

Exit Print View

Updated: July 2014
 
 

Classifier Module

In the Diffserv model, the classifier is responsible for organizing selected traffic flows into groups on which to apply different service levels. The classifiers that are defined in RFC 2475 were originally designed for boundary routers. In contrast, the IPQoS classifier ipgpc is designed to handle traffic flows on hosts that are internal to the local network. Therefore, a network with both IPQoS systems and a Diffserv router can provide a greater degree of differentiated services. For a technical description, refer to the ipgpc (7ipp) man page.

The ipgpc classifier does the following:

  1. Selects traffic flows that meet the criteria specified in the IPQoS configuration file on the IPQoS-enabled system

    The QoS policy defines various criteria that must be present in packet headers. These criteria are called selectors. The ipgpc classifier compares these selectors against the headers of packets that are received by the IPQoS system. ipgpc then selects all matching packets.

  2. Separates the packet flows into classes, network traffic with the same characteristics, as defined in the IPQoS configuration file

  3. Examines the value in the packet's differentiated service (DS) field for the presence of a differentiated services codepoint (DSCP)

    The presence of the DSCP indicates whether the incoming traffic has been marked by the sender with a forwarding behavior.

  4. Determines what further action is specified in the IPQoS configuration file for packets of a particular class

  5. Passes the packets to the next IPQoS module specified in the IPQoS configuration file, or returns the packets to the network stream

For an overview of the classifier, refer to Classifier (ipgpc) Overview. For information on invoking the classifier in the IPQoS configuration file, refer to IPQoS Configuration File.

IPQoS Selectors

The ipgpc classifier supports a variety of selectors that you can use in the filter clause of the IPQoS configuration file. When you define a filter, always use the minimum number of selectors that are needed to successfully retrieve traffic of a particular class. The number of filters you define can impact IPQoS performance.

The folowing table lists the selectors that are available for ipgpc.

Table 6-1  Filter Selectors for the IPQoS Classifier
Selector
Argument
Information Selected
saddr
IP address number.
Source address.
daddr
IP address number.
Destination address.
sport
Either a port number or service name, as defined in /etc/services.
Source port from which a traffic class originated.
dport
Either a port number or service name, as defined in /etc/services.
Destination port to which a traffic class is bound.
protocol
Either a protocol number or protocol name, as defined in /etc/protocols.
Protocol to be used by this traffic class.
dsfield
DS codepoint (DSCP) with a value of 0–63.
DSCP, which defines any forwarding behavior to be applied to the packet. If this parameter is specified, the dsfield_mask parameter must also be specified.
dsfield_mask
Bit mask with a value of 0–255.
Used in tandem with the dsfield selector. dsfield_mask is applied to the dsfield selector to determine which of its bits to match against.
if_name
Interface name.
Interface to be used for either incoming or outgoing traffic of a particular class.
user
Number of the UNIX user ID or user name to be selected. If no user ID or user name is on the packet, the default –1 is used.
User ID that is supplied to an application.
projid
Number of the project ID to be selected.
Project ID that is supplied to an application.
priority
Priority number. Lowest priority is 0.
Priority that is given to packets of this class. Priority is used to order the importance of filters for the same class.
direction
Possible values are:
Direction of packet flow on the IPQoS machine.
LOCAL_IN
Input traffic local to the IPQoS system.
LOCAL_OUT
Output traffic local to the IPQoS system.
FWD_IN
Input traffic to be forwarded.
FWD_OUT
Output traffic to be forwarded.
precedence
Precedence value. Highest precedence is 0.
Used to order filters with the same priority.
ip_version
V4 or V6
Addressing scheme that is used by the packets, either IPv4 or IPv6.