ipqosconf.1.sample revision 7c478bd95313f5f23a4c958a745db2134aa03244
# ident "%Z%%M% %I% %E% SMI"
#
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (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]
#
# CDDL HEADER END
#
# Mandatory file version identifier
fmt_version 1.0
# This configuration marks video traffic for EF PHB, i.e. Expedited Forwarding.
# Mail traffic is marked for AF11, anonymous user FTP traffic for AF12 and news
# traffic for AF13 PHBs, i.e. Assured Forwarding class 1 with drop precedences
# low medium and high respectively.
# For information on AF and EF PHBs refer to the IPQoS Administration Guide or
# the RFCs 2597 and 2598 respectively.
#
# Before this configuration file can be applied the sport parameter of the
# filter videoout needs to be given a valid port number/service name of a
# service whose traffic you wish to apply EF to and the uid parameter of the
# filter ftpout needs to be given the uid of the user ftp. The ftp user account
# is the one used by the ftp server for anonymous logins, thus filtering on
# this enables us to capture anonymous ftp user traffic.
action {
module ipgpc
# Name must be ipgpc.classify for ipgpc action.
name ipgpc.classify
class {
name video
next_action markEF
}
class {
name mail
next_action markAF11
}
class {
name ftp
next_action markAF12
}
class {
name news
next_action markAF13
}
filter {
name videoout
# Source port of video traffic, given by __videoport__.
sport __videoport__
# Locally generated outbound traffic.
direction LOCAL_OUT
class video
}
filter {
name mailout
sport smtp
direction LOCAL_OUT
class mail
}
# This filter catches anonymous ftp user outgoing traffic.
filter {
name ftpout
direction LOCAL_OUT
# Traffic generated by ftp user, given by __ftp-uid__.
uid __ftp-uid__
class ftp
}
filter {
name newsout
sport nntp
direction LOCAL_OUT
class news
}
}
# Mark the DSCP with code point EF, 101110 = 46.
action {
module dscpmk
name markEF
params {
# Set all 64 entries of dscp_map to 46 decimal.
dscp_map {0-63:46}
next_action continue
}
}
# Mark the DSCP with code point AF11, 001010 = 10.
action {
module dscpmk
name markAF11
params {
dscp_map {0-63:10}
next_action continue
}
}
# Mark the DSCP with code point AF12, 001100 = 12.
action {
module dscpmk
name markAF12
params {
dscp_map {0-63:12}
next_action continue
}
}
# Mark the DSCP with code point AF13, 001110 = 14.
action {
module dscpmk
name markAF13
params {
dscp_map {0-63:14}
next_action continue
}
}