If you do not plan to use traffic shaping for a device, don't put it in here as it limits the throughput of that device to the limits you set here.
A note on the bandwidth definitions used in this file:
kbps
mbps
kbit
mbit
bps or number
The columns in the file are as follows (where the column name is followed by a different name in parentheses, the different name is used in the alternate specification syntax).
INTERFACE - [number:]interface
You may NOT specify wildcards here, e.g. if you have multiple ppp interfaces, you need to put them all in here!
If the device doesn't exist, a warning message will be issued during "shorewall [re]start" and "shorewall reload" and traffic shaping configuration will be skipped for that device.
Shorewall assigns a sequential interface number to each interface (the first entry in the file is interface 1, the second is interface 2 and so on) You can explicitly specify the interface number by prefixing the interface name with the number and a colon (":"). Example: 1:eth0.
IN-BANDWIDTH (in_bandwidth) - {-|bandwidth[:burst]|~bandwidth[:interval:decay_interval]}
If you don't want any traffic to be dropped, set this to a value to zero in which case Shorewall will not create an ingress qdisc.Must be set to zero if the REDIRECTED INTERFACES column is non-empty.
The optional burst option was added in Shorewall 4.4.18. The default burst is 10kb. A larger burst can help make the bandwidth more accurate; often for fast lines, the enforced rate is well below the specified bandwidth.
What is described above creates a rate/burst policing filter. Beginning with Shorewall 4.4.25, a rate-estimated policing filter may be configured instead. Rate-estimated filters should be used with Ethernet adapters that have Generic Receive Offload enabled by default. See m[blue]Shorewall FAQ 97am[][2].
To create a rate-estimated filter, precede the bandwidth with a tilde ("~"). The optional interval and decay_interval determine how often the rate is estimated and how many samples are retained for estimating. Please see m[blue]http://ace-host.stuart.id.au/russell/files/tc/doc/estimators.txtm[] for details. If not specified, the default interval is 250ms and the default decay_interval is 4sec.
OUT-BANDWIDTH (out_bandwidth) - bandwidth
OPTIONS - {-|{classify|htb|hfsc|linklayer={ethernet|atm|adsl}|tsize=tsize|mtu=mtu|mpu=mpu|overhead=overhead} ,...}
htb - Use the Hierarchical Token Bucket queuing discipline. This is the default.
hfsc - Shorewall normally uses the Hierarchical Token Bucket queuing discipline. When hfsc is specified, the Hierarchical Fair Service Curves discipline is used instead (see tc-hfsc (7)).
linklayer - Added in Shorewall 4.5.6. Type of link (ethernet, atm, adsl). When specified, causes scheduler packet size manipulation as described in tc-stab (8). When this option is given, the following options may also be given after it: mtu=mtu - The device MTU; default 2048 (will be rounded up to a power of two)
mpu=mpubytes - Minimum packet size used in calculations. Smaller packets will be rounded up to this size
tsize=tablesize - Size table entries; default is 512
overhead=overheadbytes - Number of overhead bytes per packet.
REDIRECTED INTERFACES (redirect)- [interface[,interface]...]
Example 1:
#INTERFACE IN-BANDWIDTH OUT-BANDWIDTH OPTIONS REDIRECTED # INTERFACES 1:ppp0 6000kbit 500kbit
/etc/shorewall/tcdevices
tc-hfsc (7)
m[blue]http://www.shorewall.net/traffic_shaping.htmm[][5]
m[blue]http://www.shorewall.net/configuration_file_basics.htm#Pairsm[][6]
m[blue]http://ace-host.stuart.id.au/russell/files/tc/doc/estimators.txtm[]
shorewall(8)