JustPaste.it

# create "roots":
tc qdisc add dev s10-eth2 root handle 1: htb default 1000
tc class add dev s10-eth2 parent 1:0 classid 1:10 htb rate 500Mbit
tc qdisc add dev s10-eth3 root handle 2: htb default 1000
tc class add dev s10-eth3 parent 2:0 classid 2:10 htb rate 500Mbit
tc qdisc add dev s12-eth2 root handle 3: htb default 1000
tc class add dev s12-eth2 parent 3:0 classid 3:10 htb rate 500Mbit

# default class:
tc class add dev s10-eth2 parent 1:10 classid 1:1000 htb rate 50Mbit
tc class add dev s10-eth3 parent 2:10 classid 2:1000 htb rate 50Mbit
tc class add dev s12-eth2 parent 3:10 classid 3:1000 htb rate 50Mbit

# for each vlan
tc class add dev s10-eth2 parent 1:10 classid 1:544 htb rate 50Mbit
tc class add dev s10-eth2 parent 1:10 classid 1:545 htb rate 50Mbit
tc class add dev s10-eth2 parent 1:10 classid 1:548 htb rate 50Mbit
tc class add dev s10-eth2 parent 1:10 classid 1:549 htb rate 50Mbit
tc class add dev s10-eth2 parent 1:10 classid 1:551 htb rate 50Mbit
tc class add dev s10-eth2 parent 1:10 classid 1:552 htb rate 50Mbit
tc class add dev s10-eth2 parent 1:10 classid 1:553 htb rate 50Mbit
tc class add dev s10-eth2 parent 1:10 classid 1:554 htb rate 50Mbit
tc class add dev s10-eth3 parent 2:10 classid 2:545 htb rate 50Mbit
tc class add dev s10-eth3 parent 2:10 classid 2:549 htb rate 50Mbit
tc class add dev s10-eth3 parent 2:10 classid 2:552 htb rate 50Mbit
tc class add dev s10-eth3 parent 2:10 classid 2:554 htb rate 50Mbit
tc class add dev s10-eth3 parent 2:10 classid 2:555 htb rate 50Mbit
tc class add dev s12-eth2 parent 3:10 classid 3:545 htb rate 50Mbit
tc class add dev s12-eth2 parent 3:10 classid 3:549 htb rate 50Mbit
tc class add dev s12-eth2 parent 3:10 classid 3:552 htb rate 50Mbit
tc class add dev s12-eth2 parent 3:10 classid 3:554 htb rate 50Mbit
tc class add dev s12-eth2 parent 3:10 classid 3:555 htb rate 50Mbit

# parent fitler:
tc filter add dev s10-eth2 parent 1:0 prio 100 protocol 802.1q u32
tc filter add dev s10-eth3 parent 2:0 prio 100 protocol 802.1q u32
tc filter add dev s12-eth2 parent 3:0 prio 100 protocol 802.1q u32

# for each vlan
tc filter add dev s10-eth2 parent 1:10 prio 100 protocol 802.1q u32  u16 0x0220 0x0fff at -4 flowid 1:544
tc filter add dev s10-eth2 parent 1:10 prio 100 protocol 802.1q u32  u16 0x0221 0x0fff at -4 flowid 1:545
tc filter add dev s10-eth2 parent 1:10 prio 100 protocol 802.1q u32  u16 0x0224 0x0fff at -4 flowid 1:548
tc filter add dev s10-eth2 parent 1:10 prio 100 protocol 802.1q u32  u16 0x0225 0x0fff at -4 flowid 1:549
tc filter add dev s10-eth2 parent 1:10 prio 100 protocol 802.1q u32  u16 0x0227 0x0fff at -4 flowid 1:551
tc filter add dev s10-eth2 parent 1:10 prio 100 protocol 802.1q u32  u16 0x0228 0x0fff at -4 flowid 1:552
tc filter add dev s10-eth2 parent 1:10 prio 100 protocol 802.1q u32  u16 0x0229 0x0fff at -4 flowid 1:553
tc filter add dev s10-eth2 parent 1:10 prio 100 protocol 802.1q u32  u16 0x022A 0x0fff at -4 flowid 1:554
tc filter add dev s10-eth3 parent 2:10 prio 100 protocol 802.1q u32  u16 0x0221 0x0fff at -4 flowid 1:545
tc filter add dev s10-eth3 parent 2:10 prio 100 protocol 802.1q u32  u16 0x0225 0x0fff at -4 flowid 1:549
tc filter add dev s10-eth3 parent 2:10 prio 100 protocol 802.1q u32  u16 0x0228 0x0fff at -4 flowid 1:552
tc filter add dev s10-eth3 parent 2:10 prio 100 protocol 802.1q u32  u16 0x022A 0x0fff at -4 flowid 1:554
tc filter add dev s10-eth3 parent 2:10 prio 100 protocol 802.1q u32  u16 0x022B 0x0fff at -4 flowid 1:555
tc filter add dev s12-eth2 parent 3:10 prio 100 protocol 802.1q u32  u16 0x0221 0x0fff at -4 flowid 1:545
tc filter add dev s12-eth2 parent 3:10 prio 100 protocol 802.1q u32  u16 0x0225 0x0fff at -4 flowid 1:549
tc filter add dev s12-eth2 parent 3:10 prio 100 protocol 802.1q u32  u16 0x0228 0x0fff at -4 flowid 1:552
tc filter add dev s12-eth2 parent 3:10 prio 100 protocol 802.1q u32  u16 0x022A 0x0fff at -4 flowid 1:554
tc filter add dev s12-eth2 parent 3:10 prio 100 protocol 802.1q u32  u16 0x022B 0x0fff at -4 flowid 1:555