System Administration Guide: IP Services

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 of ipgpc, 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 next table lists the selectors that are available for ipgpc.

Table 37–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

Argument can be one of the following: 

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. 

Precedence is 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.