libxt_rateest.man revision 2d039bcf8421c992fb74849facc2d7205960f68e
161b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli BenderskyThe rate estimator can match on estimated rates as collected by the RATEEST
261b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Benderskytarget. It supports matching on absolute bps/pps values, comparing two rate
361b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Benderskyestimators and matching on the difference between two rate estimators.
461b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.TP
561b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky\fB\-\-rateest1\fP \fIname\fP
661b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli BenderskyName of the first rate estimator.
761b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.TP
861b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky\fB\-\-rateest2\fP \fIname\fP
961b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli BenderskyName of the second rate estimator (if difference is to be calculated).
1061b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.TP
1161b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky\fB\-\-rateest\-delta\fP
1261b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli BenderskyCompare difference(s) to given rate(s)
1361b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.TP
1461b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky\fB\-\-rateest\-bps1\fP [\fIvalue\fP]
1561b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.TP
1661b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky\fB\-\-rateest\-bps2\fP [\fIvalue\fP]
1761b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli BenderskyCompare bytes per second.
1861b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.TP
1961b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky\fB\-\-rateest\-pps1\fP [\fIvalue\fP]
20674be02d525d4e24bc6943ed9274958c580bcfbcJakub Staszak.TP
21674be02d525d4e24bc6943ed9274958c580bcfbcJakub Staszak\fB\-\-rateest\-pps2\fP [\fIvalue\fP]
2261b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli BenderskyCompare packets per second.
2361b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.TP
2461b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky[\fB!\fP] \fB\-\-rateest\-lt\fP
2561b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli BenderskyMatch if rate is less than given rate/estimator.
2661b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.TP
2761b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky[\fB!\fP] \fB\-\-rateest\-gt\fP
2861b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli BenderskyMatch if rate is greater than given rate/estimator.
2961b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.TP
3061b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky[\fB!\fP] \fB\-\-rateest\-eq\fP
3161b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli BenderskyMatch if rate is equal to given rate/estimator.
3261b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.PP
3361b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli BenderskyExample: This is what can be used to route outgoing data connections from an
3461b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli BenderskyFTP server over two lines based on the available bandwidth at the time the data
3561b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Benderskyconnection was started:
3661b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.PP
3761b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky# Estimate outgoing rates
3861b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.PP
3961b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Benderskyiptables \-t mangle \-A POSTROUTING \-o eth0 \-j RATEEST \-\-rateest\-name eth0
4061b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky\-\-rateest\-interval 250ms \-\-rateest\-ewma 0.5s
4161b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.PP
4261b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Benderskyiptables \-t mangle \-A POSTROUTING \-o ppp0 \-j RATEEST \-\-rateest\-name ppp0
4361b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky\-\-rateest\-interval 250ms \-\-rateest\-ewma 0.5s
4479c07d2a36282b09b9c5d0aa65ebf4bff017621bDmitri Gribenko.PP
4561b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky# Mark based on available bandwidth
4661b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.PP
4779c07d2a36282b09b9c5d0aa65ebf4bff017621bDmitri Gribenkoiptables \-t mangle \-A balance \-m conntrack \-\-ctstate NEW \-m helper \-\-helper ftp
4861b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky\-m rateest \-\-rateest\-delta \-\-rateest1 eth0 \-\-rateest\-bps1 2.5mbit \-\-rateest\-gt
4961b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky\-\-rateest2 ppp0 \-\-rateest\-bps2 2mbit \-j CONNMARK \-\-set\-mark 1
5061b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.PP
5161b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Benderskyiptables \-t mangle \-A balance \-m conntrack \-\-ctstate NEW \-m helper \-\-helper ftp
5261b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky\-m rateest \-\-rateest\-delta \-\-rateest1 ppp0 \-\-rateest\-bps1 2mbit \-\-rateest\-gt
5361b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky\-\-rateest2 eth0 \-\-rateest\-bps2 2.5mbit \-j CONNMARK \-\-set\-mark 2
5461b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky.PP
5561b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Benderskyiptables \-t mangle \-A balance \-j CONNMARK \-\-restore\-mark
5661b1851a205cb8dd29c1d3d4231efb8f8f7da283Eli Bendersky