Copyright (c) 2002, Sun Microsystems Inc.
All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
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 entity.
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(1M) command.
A summary of the ipqos entities follows. For more information, refer to the corresponding man page for each entity.
ipgpc
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 direction.
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.
dlcosmk
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.
dscpmk
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.
flowacct
An accounting module that utilizes the Solaris extended accounting facility. flowacct logs all flows with parameters used to build a charge back mechanism.
ipqos modules export statistics through the kstat facility. Exported statistics contain the following common parameters:
module
module name
instance
dynamic parameter identifying a specific instance
name
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(1M) 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.
Examples:
To retrieve all statistics for ipgpc:
kstat -m ipgpc
To retrieve statistics for the class http:
kstat -m ipgpc -c http
ipqosconf(1M), dlcosmk(7ipp), dscpmk(7ipp), flowacct(7ipp), ipgpc(7ipp), tokenmt(7ipp), tswtclmt(7ipp)
RFC 2475, An Architecture for Differentiated Services S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss \(em 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 \(em The Internet Society, 1998
RFC 2697, A Single Rate Three Color Marker J. Heinanen, R. Guerin \(em The Internet Society, 1999
RFC 2698, A Two Rate Three Color Marker J. Heinanen, R. Guerin \(em The Internet Society, 1999
RFC 2859, A Time Sliding Window Three Colour Marker (TSWTCM) W. Fang, N. Seddigh, B. Nandy \(em The Internet Society, 2000