What I want to accomplish

I want to limit the available bandwidth to specific background file replication services to a few (< 100) kBytes/s (preferably assymetric).

I first tried to accomplish this with Crossbow. But Crossbow only allows to limit bandwidth limit in steps of 150 kBytes/s, I unfortunately can't use it. I then tried to use IPQoS.

Problem with IPQoS - Summary

However IPQoS seems to be broken on Solaris Express 11.

I tried many examples (from the manual ipqosconf(1M), from the online documentation and from different blogs) and all lead to the following error:

Error: Missing required parameter for action <name>.
Error: Configuration failed, system state unchanged.

Detailed configuration

In this qos config I want to limit the bandwidth of e1000g0 to 100 kBytes/s up/down.

fmt_version 1.0

action {
    # generic IP classifier
    module ipgpc
    name ipgpc.classify

    # disable later due to perfomance impact
    params {
        global_stats TRUE
    class {
        name hlimit
        next_action cap
        enable_stats FALSE
    filter {
        name hlimit
        if_name e1000g0
        class hlimit

action {
    module tokenmt
    name cap

    params {
        committed_rate 102400
        committed_burst 102400
        peak_rate 102400
        peak_burst 102400
        red_action_name drop
        green_action_name continue
        yellow_action_name continue
        global_stats TRUE

But when I try to apply the config I get:

$ sudo ipqosconf -a ipqos.qos
Error: Missing required parameter for action cap.
Error: Configuration failed, system state unchanged.

My ipqos service is running:

$ svcs -l ipqos
fmri         svc:/network/ipqos:default
name         IPQoS configuration
enabled      true
state        online
next_state   none
state_time   May 11, 2011 05:33:29 PM CEST
logfile      /var/svc/log/network-ipqos:default.log
restarter    svc:/system/svc/restarter:default
dependency   optional_all/none svc:/network/initial (online)
dependency   require_all/none svc:/system/filesystem/usr (online)

The log file:

$ cat /var/svc/log/network-ipqos\:default.log
[ May 11 16:50:40 Disabled. ]
[ May 11 17:33:29 Enabled. ]
[ May 11 17:33:29 Executing start method ("/lib/svc/method/net-ipqos"). ]
[ May 11 17:33:29 Method "start" exited with status 0. ]

and cat /var/adm/messages shows nothing regarding ipqos.


It seems that I am stuck here.

  • How would you approach traffic shaping in Solaris for small bandwidth?

  • Is there something else I could look at to find out more about this error. Maybe somebody of you knows how to find an up-to-date documentation of IPQoS.

  • Is IPQoS open source, I would be willing to dig around in the source to get to the root of this error. But so far I was unsuccessful with my search queries to find it (online or in the package manager).

  • Do you have any standard resources in mind how I could find more information about services in solaris, especially IPQoS?


Try installing ipqos-conf. Should solve your problem.

pkg install ipqos-conf

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.