
Attached is Sun's "/etc/rsvpd.conf".
in ALTQ/CBQ this config file is placed as "/etc/cbq.conf".

See cbqd(8) for more details.

Differences from Sun are:

 - packet scheduler type: cbq, cbq-wrr, cbq-prr.
  (cbq is equivalent to cbq-wrr)
 - no [stats] option
 - priority range: 0-7 (7 is highest) default:1

 - default values for maxburst, minburst, packetsize, maxdelay
   (still in search of better default values)
	maxburst:    16
	minburst:     2
	packetsize: MTU
	maxdelay:   not specified.  instead, use default queue size 30.

 - filter values
  <dst_addr> [netmask mask] <dport> <src_addr> [netmask mask] <sport> <proto>
  
   addr and mask can be dotted ipv4 address.
   if value 0 is given to a filter, it is taken as a wildcard.

   Note that CURRENT WILDCARD MATCHING is VERY POOR!  It tries filter
   matching from the last entry in the config file.  It means you have
   to write more generic filter first in the config file. (this should 
   be fixed in the future release but resolving conflicting-wildcards is
   not easy...)


#pragma ident	"@(#)rsvpd.conf	1.15	97/06/19 SMI"
#
# Default rsvpd.conf file. This file assumes the default interface is "le0,"
# the standard ethernet interface on SPARCStation desktop workstations.
#
# This configurations file was developed assuming rsvp and cbq on
# Solaris.  
#
# interface <interface name> bandwidth <b> cbq|csz [stats]
#
#	One "interface" specification is provided for each network interface
#	under control of RSVP, e.g., le0.  A system configured as a router
#	will require multiple interface specifications.
#
#	<interface name> - Currently supported are le and qe ethernet
#	  interfaces.
#
#	bandwidth <b> - The interface bandwidth in bits per second.  This
#	  is the maximum rate that the packet scheduler will allow on
#	  this interface.
#
#	cbq|cbq-wrr|ctlload|csz - Type of packet scheduler.  In this release,
#	  only cbq, cbq-wrr,  and ctlload are supported. "cbq-wrr" asks cbq
#	  to employ cbq's weighted-round-robin scheduler as opposed to cbq's
#	  packet-by-packet round robin scheduler.
#
#	[stats] - When this keyword is present, the kernel will print packet
#	  scheduling information to the console every 5 seconds.
#
#	efficient - Enables CBQ's link efficiency mode.  This means that
#		the scheduler will send a packet from the first overlimit
#		class it encounters of all classes of the link-sharing
#		structure are overlimit.  This will also cause the scheduler
#		to use greater than it's assigned bandwidth, if the link
#		is capable of more than the assigned bandwidth.  By default,
#		this mode is turned off.  By adding the keyword "efficient"
#		to the interface specification line, enables this mode.
#
# class <scheduler> <interface name> <class-name> <parent-class-name|NULL>
#	[priority <sched-pri>] [pbandwidth <p>] \
#	[admission predictive|guaranteed|none] \
#	[borrow <borrow_class>] \
#	[maxburst <burst count>] [packetsize <size>] \
#	[default]
#
#
#	A class specifier must be provided for each packet scheduling class.
#	The classes are organized as a hierarchy, and every class, except
#	for the root class has a parent.
#	
#	<scheduler> - Defines which packet scheduler is being used.  
#	  In this release, only "cbq" is supported.
#
#	<interface name> - Currently supported are le and qe ethernet
#	  interfaces.  Must correspond to name in interface specification.
#
#	<class_name> - Arbitrary name for this class.  Must be unique 
#	  within the class hierarchy for this interface, but can
#	  be duplicated on other interfaces.  The name "ctl_class" is
#	  a reserved class name.
#
#	<parent-class-name|NULL> - The name of the parent class for this
#	  class or NULL if this is the root class.  Parent class must
#	  have been previously defined.
#
#	[priority <sched-pri>] - High numbers are higher priority.  Max
#	  value is 8. Default is 1.
#
#	[pbandwidth <p>] - The percentage of the interface bandwidth
#	  allocated to this class.  Generally should add up to 100 percent
#	  at each level of the class hierarchy, although other amounts
#	  can be specified for purposes of experimentation.  Max
#	  value is 100. Default value is 100.
#
#	[admission cntlload|none] - The type of admission
#	  control and QoS type RSVP is to provide on this class.  If
#	  values of predictive or guaranteed are provided, RSVP will 
#	  dynamically create a new subclass under this class for each
#	  new predictive or guaranteed RSVP flow.  If a value of none
#	  is provided, RSVP will not classify flows to this class.  Flows
#	  can be statically mapped to a class using the "filter" 
#	  specification defined below.
#	
#	[borrow <borrow_class>] - The class from which to borrow when
#	  this class is overlimit.  This is normally the parent of this 
#	  class.  If this keyword is not present, then no borrowing
#	  is done, and the packet is delayed or dropped when the
#	  class is overlimit. 
#
#	[maxburst <burst count>] - The maximum burst of back-to-back 
#	  packets allowed in this class.  Must be larger than the
#	  maximum token bucket depth for any RSVP flows that may
#	  be mapped to this class (actual burst size on a dynamically
#	  defined RSVP classes will be set from the RSVP TSpec).
#	  Default is 20.
#	[minburst <burst count>] --  The minimum burst is used to obtain
#	  the steady state burst size.  It's the parameter to help compute
#	  offtime for the class.  Offtime is the amount of time a class
#	  is to wait between packets.
#	  Default is (maxburst / 10).
#
#	[packetsize <size>] - The average packet size in bytes to be used in
#	  CBQ over-/under-limit computations.  Default value is 1000.
#
#	[default] - When this keyword is present, all packets that do
#	  not match some RSVP-provided or statically-defined classification
#	  criteria are assigned to this class.  Must be exactly one
#	  class on each interface defined as the default class.
#	
# filter <interface name> <class-name> \
#	<filter value> <filter mask> <filter offset>
#
#	A filter specifier determines any statically-defined packet
#	classification rules.  Not required for operation of RSVP, and
#	mapping a static filter to one of the classes used by RSVP
#	may result in undesired behavior by the packet scheduler.
#
#	<interface name> - Currently supported are le and qe ethernet
#	  interfaces.  Must correspond to name in interface specification.
#
#	<class_name> - The class to which packets matching the filter
#	  criteria are mapped. Class must have been previously be defined.
#
#	<filter value> - A hex string defining the byte vector, that when
#	  AND'ed with the filter mask is used to match packet headers.
#	  The maximum size of the vector is 48 bytes.
#	
#	<filter mask > - A hex string that defines byte vector to
#	  be AND'ed with filter value.  The maximum size of the vector is 48
#	  bytes.
#	
#	<filter offset> - Offset within the IP packet at which to begin
#	  comparison.  Maximum value is 256.
#	
interface le0 bandwidth 5000000 cbq
class cbq le0 root_class NULL priority 7 admission none pbandwidth 100
class cbq le0 res_class root_class priority 6 pbandwidth 40 admission cntlload borrow root_class
class cbq le0 unres_class root_class priority 3 pbandwidth 60 default borrow root_class
