1

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
<snip>
[ 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.

Conclusion

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?

1 Answer 1

1

Try installing ipqos-conf. Should solve your problem.

pkg install ipqos-conf

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .