Running: VyOS 1.2.6
On a: Edgecore SAF51015I
The traffic shapers don’t seem to be working as I expected them to, my current set up is a WAN network 192.168.100.0/24 (this is actually a public address range however I’ve changed this to an RFC1918 range for this example), I have multiple customer edge devices facing this layer 2 network which ultimately connects to the EdgeCore. Each of these customers within this WAN network have their own bandwidth requirements and are assigned a single public IP to be used on their edge devices. I have shapers applied to individual customer edge device IPs so that I can implement these bandwidth requirements e.g.
- CUST 1 will have an edge device with a WAN IP of 192.168.100.10 and bandwidth requirements of 500Mbps upload and download
- CUST 2 will have an edge device with a WAN IP of 192.168.100.11 and bandwidth requirements of 50Mbs upload and download
- CUST 3 will have an edge device with a WAN IP of 192.168.100.12 and bandwidth requirements of 500Mbps upload and download
My shaper / interface config is as follows:
interfaces {
ethernet eth10 {
hw-id 04:f8:f8:7b:f9:ee
vif 400 {
address 192.168.100.1/24
description "PUBLICIPBLOCK"
firewall {
in {
name CUST_PUBLICIP_IN
}
local {
name CUST_LOCAL
}
}
redirect ifb400
traffic-policy {
out 'public-custs'
}
}
}
input ifb400 {
traffic-policy {
out 'public-custs'
}
}
}
traffic-policy {
shaper public-custs {
bandwidth 10gbit
class 2 {
description CUST1
bandwidth 500mbit
burst 15k
match dst {
ip {
destination {
address 192.168.100.10/32
}
}
}
match src {
ip {
source {
address 192.168.100.10/32
}
}
}
queue-type fair-queue
}
class 3 {
description CUST2
bandwidth 50mbit
burst 15k
match dst {
ip {
destination {
address 192.168.100.11/32
}
}
}
match src {
ip {
source {
address 192.168.100.11/32
}
}
}
queue-type fair-queue
}
class 4 {
description CUST3
bandwidth 500mbit
burst 15k
match dst {
ip {
destination {
address 192.168.100.12/32
}
}
}
match src {
ip {
source {
address 192.168.100.12/32
}
}
}
queue-type fair-queue
}
}
}
The symptoms I’m seeing are the upload speeds seem absolutely fine however the download speeds are sporadic. Say if I set a 500Mbps shaper, I’ll see the 500Mbps upload speed when running a speed test from the LAN behind the customer edge however the download will be max 200Mbps or as low as 5Mbps these symptoms are consistent over all public IP WAN customers.
Here is an output of: show queuing ethernet eth10 vif 400 As you can see below, there are some pretty suspect results.
eth10.400 Queueing:
Class Policy Sent Dropped Overlimit Backlog
root shaper 280838190130 184204 66251639 0
2 fair-queue 0 0 0 0
3 fair-queue 5691694880 16111 0 0
4 fair-queue 133955295865 63401 0 0
5 fair-queue 72691877506 84370 0 0
6 fair-queue 760924256 212 0 0
7 fair-queue 63167487700 16545 0 0
8 fair-queue 3674176611 3315 0 0
9 fair-queue 0 0 0 0
10 fair-queue 0 0 0 0
11 fair-queue 0 0 0 0
12 fair-queue 883770508 250 0 0
default fair-queue 12962750 0 0 0
65521 limiter 17301225591 0 0 0
Is there anything in my config which is incorrect? Ultimately my goal is to apply symmetrical traffic shaping (upload and download) on a per IP (customer) basis. Or are there any bugs / caveats with the version of VyOS which could explain this?
Any help would be much appreciated!!
Cheers,
Jimmy