set traffic-policy shaper WAN-OUT bandwidth '50Mbit'
set traffic-policy shaper WAN-OUT default bandwidth '50%'
set traffic-policy shaper WAN-OUT default ceiling '100%'
set traffic-policy shaper WAN-OUT default queue-type 'fair-queue'
set traffic-policy shaper WAN-OUT class 10 bandwidth 30mbit
set traffic-policy shaper WAN-OUT class 10 burst 15k
set traffic-policy shaper WAN-OUT class 10 ceiling 33mbit
set traffic-policy shaper WAN-OUT class 10 description TEST
set traffic-policy shaper WAN-OUT class 10 match TEST interface eth1
set traffic-policy shaper WAN-OUT class 10 priority 0
set traffic-policy shaper WAN-OUT class 10 queue-type fair-queue
set interfaces ethernet eth0 traffic-policy out WAN-OUT
While running “tc monitor” in different ssh session gives:
deleted qdisc mq 0: dev eth0 root
qdisc htb 1: dev eth0 root refcnt 64 r2q 32 default b direct_packets_stat 0 direct_qlen 1000
class htb 1:1 dev eth0 root prio 0 rate 50Mbit ceil 50Mbit burst 1600b cburst 1600b
class htb 1:b dev eth0 parent 1:1 prio 0 rate 25Mbit ceil 50Mbit burst 15Kb cburst 1600b
qdisc sfq 8005: dev eth0 parent 1:b limit 127p quantum 1514b depth 127 divisor 1024
class htb 1:a dev eth0 parent 1:1 prio 0 rate 30Mbit ceil 33Mbit burst 15Kb cburst 1592b
qdisc sfq 8006: dev eth0 parent 1:a limit 127p quantum 1514b depth 127 divisor 1024
added chain dev eth0 parent 1: chain 0
added filter dev eth0 parent 1: protocol all pref 1 basic chain 0 handle 0x1 flowid 1:a
meta(rt_iif eq 3)
Last line is special, it should match on input interface. But it doesn’t"
Without masquerade on eth0, you could filter on source IP.
Or use policies to mark packets coming in on eth1 and eth3, then filter on packet marks in shaper.
eth1 - mark=1
eth3 - mark=3
This seems like a fairly reproducable problem. I’d recommend logging a Phabricator ticket if you’re able to report it to the devs. Let me know if you’d like a hand with that.