Solaris Bandwidth Manager 1.5 Administration Guide

Configuration File Format

The Solaris Bandwidth Manager configuration file contains general configuration parameters and a number of definitions used to allocate bandwidth to network traffic. These definitions can be included in any order, but forward references to other definitions are not permitted.

The file contains definitions for the following items:

A definition is terminated by the keyword indicating the start of the next definition or by the end of the file. Within a definition there is a series of keywords and their values. Class names and filter names must not exceed 20 characters.

Some keywords can take only one value but can be present more than once in a subsection. Other keywords can take more than one value, in a list separated by commas. A value cannot contain a comma. If the list of values for a keyword continues over more than one line, use a backslash (\) as a continuation character. A value can contain a backslash, unless the backslash is the last character in the line, in which case it is treated as a continuation character.

You can include comment lines, starting with a pound sign (#). All lines starting with a hash sign are treated as comments, however, a value can contain a hash sign. Within a comment line, any characters are permitted.

You must be root in order to edit this file.

General Configuration Parameters

The configuration file contains the following general parameters:

URL Group Definition

A URL group definition is a list of one or more URLs (Uniform Resource Locator).

Format

url_group   name
                     url   url_address

The following characters are restricted, and must be entered as an ascii code, preceded by a percent (%) sign:

character 

ascii code 

25 

40 

3A 

2C 

23 

The / character can only be used as part of a path.

Example

url_group   web_sun_group
            url   http://www.sun.com/*.html
            url   http://www.sun.com/*.gif
            url   http://*:8080/~mylogin
            url   ftp://ftp.sun.com/*

Host Group Definition

A host group is a list of IP addresses (in dot format) or host names that will be resolved by the host's database on the system where Solaris Bandwidth Manager is running.

Format

host_group   name
             address   address_list
          

Example

host_group   grp_sales
             address   134.xxx.yyy.1, 134.xxx.yyy.2
host_group   grp_paris
             address   125.xxx.yyy.1, 125.xxx.yyy.2, apple, pear,\
                       orange
          

Subnet Group Definition

A subnet group is a list of IP addresses (in dot format) or network names that will be resolved by the host's database of the system running Solaris Bandwidth Manager or by the networks table. A subnet group also contains a subnet mask.

Format

subnet_group   name
               address   address_list
               mask      subnet_mask

Example

subnet_group   grp_nets
               address   129.xxx.yyy.0, plum
               mask      225.225.225.0

Service Definition

A service definition provides a mapping between a service defined in application layer terms and the protocol and ports used. This includes control protocols such as PIM, RSVP, and IGMP. A number of services are pre-defined in the file /opt/SUNWconn/ba/lib/services.def. "Complete Configuration" shows the pre-defined services.

Format

service   name
          protocol   protocol
          ports      local_port,remote_port

Example

service   tv
          protocol   tcp
          ports      2023,*
          ports      2024,*
          ports      *,2023
          ports      *,2024

Filter Definition

A filter contains local and remote information and a service, and is used to determine the class of a packet. It can also contain URL information and a Type of Service value.

Format

filter   name
         local
                         type      type
                         local_info
         remote
                         type      type
                         remote_info
         url
                         type      urltype
                         url_info
        tos_match        tos_match
        tos_match_mask   tos_match_mask
        service          service

Examples

filter   filter1
         local
                         type      host
                         address   apricot
         remote
                         type      host_group
                         name      grp_sales
         tos_match       0x03
         tos_match_mask  0x0F
         service         ftp,http
filter   filter2
         local
                         type      subnet_group
                         name      grp_nets
         remote
                         type      subnet
                         address   129.xxx.yyy.0
                         mask      255.255.255.0
         url
                         type      url_group
                         name      web_sun_group
         service         http

Interface Definition

An interface definition specifies a Solaris device name, its flow direction, and the bandwidth to be associated with it.

Format

interface   name
            rate         bandwidth
            activate     status
            router_addr  router_addr
            router_mac   router_mac
            network      network_device
            multicast    multicast
            nonip_mode   non_ipmode

IP-Transparent Mode

If you are using Solaris Bandwidth Manager in IP-Transparent mode, you must specify the router_addr, network and router_mac keywords.

The following parameters are optional in IP-Transparent mode:

Example

interface   qe0_out
            rate         512000
            activate     enabled
            router_addr  134.xxx.yyy.3
            router_mac   809xxxxx
            network      le0
            multicast    all
            nonip_mode   ipqos

Class Definition

A class definition contains the parameters for the class, including the filters that cause packets to be placed in this class.

Format

class   name
        parent             parent_class
        interface          interface
        bandwidth          bandwidth
        max_bandwidth      max_bandwidth
        priority           priority
        bandwidth_bps      bandwidth_bps
        max_bandwidth_bps  max_bandwidth_bps
        tos_mark           tos_mark
        tos_mark_mask      tos_mark_mask
        flow_events        flow_events
        filter             filter

Example

class   test_class
        parent             root
        interface          qe0_out
        bandwidth          35
        max_bandwidth      45
        priority           3
        tos_mark           0x07
        tos_mark_mask      0x0F
        flow_events        ip_source
        filter             filter1,filter2

Type of Service Values

Solaris Bandwidth Manager uses the TOS byte in the following ways:

Table 4-1 Type of Service Values and Their Meanings

1000 

minimize delay 

0100 

maximize throughput 

0010 

maximize reliability 

0001 

minimize monetary cost 

0000 

normal service 

The classification criterion in filters is defined by the tos_match and the tos_match_mask parameters. tos_match_mask is a bitmask that defines which bits of the TOS byte need to be checked. tos_match is the value to check.

For example, to filter all packets whose TOS byte is "minimize delay" and "normal service" (xxx 1xx0 x): tos_match_mask must be set to 000 1001 0 (0x12), and tos_match must be set to 000 1000 0 (0x10).

In classes, the following parameters are used: tos_mark_mask, and tos_mark. tos_mark_mask is a bitmask defining which bits to modify in the TOS byte, and tos_mark is the value to apply.