traffic-policy limiter trouble with tcp?

I am having trouble implementing inbound bandwidth limitation. Here is the relevant config:

vyos@vyos# sh traffic-policy
limiter Cust-IN {
default {
bandwidth 20mbit
burst 1mb
}
}

[edit]
vyos@vyos# sh interfaces
ethernet eth5 {
hw-id 00:1b:21:2b:be:49
traffic-policy {
in Cust-IN
}
vif 100 {
address 192.168.100.1/24
description “VLAN 100”
traffic-policy {
}
}
}

Testing with iperf, it limits at precisely 20mbit as expected, but only when sending udp. When I test with tcp, bandwidth measurement look like this:

iperf -c 192.168.100.1 -i 1 -t 10

Client connecting to 192.168.100.1, TCP port 5001
TCP window size: 85.0 KByte (default)

[ 3] local 192.168.100.100 port 36938 connected with 192.168.100.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 128 KBytes 1.05 Mbits/sec
[ 3] 1.0- 2.0 sec 0.00 Bytes 0.00 bits/sec
[ 3] 2.0- 3.0 sec 0.00 Bytes 0.00 bits/sec
[ 3] 3.0- 4.0 sec 128 KBytes 1.05 Mbits/sec
[ 3] 4.0- 5.0 sec 0.00 Bytes 0.00 bits/sec
[ 3] 5.0- 6.0 sec 128 KBytes 1.05 Mbits/sec
[ 3] 6.0- 7.0 sec 0.00 Bytes 0.00 bits/sec
[ 3] 7.0- 8.0 sec 0.00 Bytes 0.00 bits/sec
[ 3] 8.0- 9.0 sec 128 KBytes 1.05 Mbits/sec
[ 3] 9.0-10.0 sec 0.00 Bytes 0.00 bits/sec
[ 3] 0.0-13.5 sec 640 KBytes 389 Kbits/sec

I get similar throughput regardless of the bandwidth I set, (eg 500mbit). Throughput is terrible when I send a file vie scp as well, so its not just iperf having trouble.

Any thoughts? Any I missing something in the config?

Thanks.

Ted

We are having a similar problem, when applying a simple limiter the network speed is crippled. The limiter is applied on the LAN interface, this is a preliminary test to limit connections per ip address.

But even setting the limiter to 100mbit/s the speed is reduced to 3mbit/s

Any pointers?

VyOS Version:

show version Version: VyOS 1.1.7 Description: VyOS 1.1.7 (helium) Copyright: 2016 VyOS maintainers and contributors Built by: maintainers@vyos.net Built on: Wed Feb 17 09:57:31 UTC 2016 Build ID: 1602170957-4459750 System type: x86 64-bit Boot via: image Hypervisor: Xen hvm Uptime: 13:29:38 up 4 days, 18:49, 1 user, load average: 0.00, 0.01, 0.05

VyOS configuration:

show configuration commands | match "traffic-policy" set traffic-policy limiter test default bandwidth '100mbit' set traffic-policy limiter test default burst '15kb' set interfaces ethernet eth0 traffic-policy in test

Speed test results before limiter

Speed test with limiter active

try without burst line specified, or use a larger value.

Moreover, commands below will show qos settings on eth0, I wonder where vyos commands where translated into