Per Connection Classifier (PCC) issues

Hallo, please help… :confused:

I’ve been reading and following various forums, blogs and articles on setting up my Mikrotik to do PCC, but I’m not winning.

I have two Internet routers with different bandwidth. WAN1 is setup as 10.0.1.2/24 as the default gateway to the internet, and WAN2 is 10.0.2.2/24. My LAN is 10.0.0.0/24. WAN1 is a Mikrotik router of which I have no control over (managed by the ISP) but it is configured with 10.0.1.2 and connecting to it on that network range, give me Internet. he same applies to WAN2.

I have another Mikrotik (Hap Lite) which I would like to setup as the PCC router; classifying different packets and forwarding it to either WAN1 or WAN2. Also, if one is down, packets should be forward to the online one (load balancing).

I set up my Hap Lite with one port as the LAN port, IP 10.0.0.2, one as WAN1 with 10.0.1.1 and one as WAN2 with 10.0.2.1. There is also bridge configured. I would like to prioritise VOIP and YouTube uploads must go through WAN1 which offers more upload bandwidth than WAN2. WAN1 is a dedicated 4M connection while WAN2 is an ADSL (best effort) 10M connection.

My configuration which I have used but isn’t working is as follows.

/interface bridge
add fast-forward=no name=bridgeLAN
/interface ethernet
set [ find default-name=ether2 ] comment=LAN
set [ find default-name=ether3 ] comment="WAN1"
set [ find default-name=ether4 ] comment="WAN2"
/interface wireless
set [ find default-name=wlan1 ] disabled=no
/ip hotspot profile
set [ find default=yes ] html-directory=flash/hotspot
/queue simple
add name=total queue=default/default target=""
add max-limit=4M/4M name=voip1 packet-marks=sip-1 parent=total priority=\
    2/2 queue=default/default target=""
add name=YouTube packet-marks=youtube-packets parent=total priority=2/2 \
    queue=default/default target=216.58.223.14/32
add name=other packet-marks=other parent=total priority=4/4 queue=\
    default/default target=""
/interface l2tp-server server
set caller-id-type=ip-address
/ip address
add address=10.0.0.2/24 interface=ether2 network=10.0.0.0
add address=10.0.1.2/24 interface=ether3 network=10.0.1.0
add address=10.0.2.2/24 interface=ether4 network=10.0.2.0
/ip firewall mangle
add action=mark-connection chain=input connection-mark=no-mark in-interface=\
    ether3 new-connection-mark=WAN1 passthrough=no
add action=mark-connection chain=input connection-mark=no-mark in-interface=\
    ether4 new-connection-mark=WAN2 passthrough=no
add action=mark-routing chain=output connection-mark=WAN1 new-routing-mark=\
    WAN1 out-interface=ether3 passthrough=no
add action=mark-routing chain=output connection-mark=WAN2 new-routing-mark=\
    WAN2 out-interface=ether4 passthrough=no
add action=mark-connection chain=prerouting connection-mark=no-mark \
    dst-address-type=!local in-interface=bridgeLAN new-connection-mark=WAN1 \
    passthrough=yes per-connection-classifier=both-addresses-and-ports:3/2
add action=mark-connection chain=prerouting connection-mark=no-mark \
    dst-address-type=!local in-interface=bridgeLAN new-connection-mark=WAN2 \
    passthrough=yes per-connection-classifier=both-addresses-and-ports:3/1
add action=mark-connection chain=prerouting connection-mark=no-mark \
    dst-address-type=!local in-interface=bridgeLAN new-connection-mark=WAN2 \
    passthrough=yes per-connection-classifier=both-addresses-and-ports:3/0
add action=mark-routing chain=prerouting connection-mark=WAN1 in-interface=\
    bridgeLAN new-routing-mark=WAN1 passthrough=no
add action=mark-routing chain=prerouting connection-mark=WAN2 in-interface=\
    bridgeLAN new-routing-mark=WAN2 passthrough=no
add action=accept chain=prerouting dst-address=10.0.1.0/24 in-interface=\
    bridgeLAN
add action=accept chain=prerouting dst-address=10.0.2.0/24 in-interface=\
    bridgeLAN
add action=mark-connection chain=forward connection-state=new dst-address=\
    x.x.x.x dst-port=5060 new-connection-mark=voip1 passthrough=yes \
    protocol=udp
add action=mark-packet chain=forward connection-mark=voip1 \
    new-packet-mark=sip1 passthrough=no
add action=change-dscp chain=postrouting comment="DSCP - 7 - SIP" new-dscp=7 \
    passthrough=yes port=5060 protocol=udp
add action=set-priority chain=prerouting comment="Priority YouTube Uploads" \
    connection-bytes=10000000-0 new-priority=1 passthrough=yes port=80 \
    protocol=tcp
add action=set-priority chain=prerouting comment="Priority YouTube Uploads" \
    connection-bytes=10000000-0 new-priority=1 passthrough=yes port=443 \
    protocol=tcp
add action=mark-connection chain=prerouting dst-address=216.58.223.14 \
    in-interface=bridgeLAN new-connection-mark=youtube passthrough=yes \
    protocol=0
add action=mark-packet chain=prerouting dst-address=216.58.223.14 \
    new-packet-mark=youtube-packets passthrough=no
add action=mark-connection chain=forward connection-mark=no-mark \
    new-connection-mark=other passthrough=yes
add action=mark-packet chain=forward connection-mark=other new-packet-mark=\
    other passthrough=no
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether3
add action=masquerade chain=srcnat out-interface=ether4
/ip route
add check-gateway=ping distance=1 gateway=10.0.1.2 routing-mark=WAN1
add check-gateway=ping distance=1 gateway=10.0.2.2 routing-mark=WAN2
add check-gateway=ping distance=1 gateway=10.0.2.2
add check-gateway=ping distance=2 gateway=10.0.1.2

Thanks in advance!!!