ipqos - IP Quality of Service


ipqos is an implementation of the Differentiated Services model defined
in RFC2475: An Architecture for Differentiated Services, which defines
the following entities: multi-field classifier, meter, marker, and
dropper. The Solaris implementation of ipqos adds a flow accounting

These entities can be combined into processing paths that constitute a
series of actions that are performed on groups of flows. The classifier
groups together flows and directs them in a given processing path.
Classifier configuration and path construction are achieved using the
ipqosconf(8) command.

A summary of the ipqos entities follows. For more information, refer to
the corresponding man page for each entity.

An implementation of the classifier defined in the
model. ipgpc has been extended and is able to select
traffic based on IP header parameters, user id,
project id, interface name, interface group and

tokenmt, tswtclmt
These modules implement different metering
algorithms. tokenmt implements both RFC2697: A
Single Rate Three Color Marker and RFC 2698: A Two
Rate Three Color Marker. tswtclmt implements
RFC2859: A Time Sliding Window Three Color Marker.
These modules only implement the metering functions
defined in the RFCs.

A marker entity that allows the setting of the user
priority field of Ethernet frames as defined in the
IEEE 802.1D specification. dlcosmk is only available
with VLAN capable network interfaces.

A marker entity that enables the setting of the
Differentiated Services Code Point Value in the IP
header as defined in RFC 2474: Definition of the
Differentiated Services Field (DS Field) in the IPv4
and IPv6 headers.

An accounting module that utilizes the Solaris
extended accounting facility. flowacct logs all
flows with parameters used to build a charge back


ipqos modules export statistics through the kstat facility. Exported
statistics contain the following common parameters:

module name

dynamic parameter identifying a specific instance

a string for global statistics (for example, ipgpc global
stat) or a class name for per-class statistics for a
classifier action

To verify classifier configuration, generate traffic for each of the
configured classes and check that the statistic counters for the expected
class are increased. If you're unsure about the parameters for your
traffic, you can use snoop(8) to determine them.

Some actions have the instance id of the next configured action in their
statistics. This instance id can be used to follow the action processing
path. Instance id's -1 and -2 are the built-in actions continue and
drop, respectively.


To retrieve all statistics for ipgpc:

kstat -m ipgpc

To retrieve statistics for the class http:

kstat -m ipgpc -c http


dlcosmk(4IPP), dscpmk(4IPP), flowacct(4IPP), ipgpc(4IPP), tokenmt(4IPP),
tswtclmt(4IPP), ipqosconf(8)

RFC 2475, An Architecture for Differentiated Services S. Blake, D. Black,
M. Carlson, E. Davies, Z. Wang, W. Weiss -- The Internet Society, 1998

RFC 2474, Definition of the Differentiated Services Field (DS Field) in
the IPv4 and IPv6 Headers K. Nichols, S. Blake, F. Baker, D. Black -- The
Internet Society, 1998

RFC 2697, A Single Rate Three Color Marker J. Heinanen, R. Guerin -- The
Internet Society, 1999

RFC 2698, A Two Rate Three Color Marker J. Heinanen, R. Guerin -- The
Internet Society, 1999

RFC 2859, A Time Sliding Window Three Colour Marker (TSWTCM) W. Fang, N.
Seddigh, B. Nandy -- The Internet Society, 2000

February 25, 2002 IPQOS(4IPP)