Prerouting Mark Routing not working with src-address-list

Hello,

I’m back with a new dilemma , check the below simple config , i have a transparent cache , the

sys resour print
uptime: 5h33m9s
version: 6.1
build-time: Jun/12/2013 11:50:54
free-memory: 3705.3MiB
total-memory: 3969.0MiB
cpu: tilegx
cpu-count: 36
cpu-frequency: 1200MHz
cpu-load: 0%
free-hdd-space: 905.3MiB
total-hdd-space: 1024.0MiB
architecture-name: tile
board-name: CCR1036-12G-4S
platform: MikroTik

/ip firewall address-list
add address=20.20.20.20 list=ON-CACHE
/ip firewall connection tracking
set enabled=yes
/ip firewall mangle
add action=mark-routing chain=prerouting comment=DOWNLOAD dst-address-list=ON-CACHE in-interface=vlan2 new-routing-mark=TO-CACHE protocol=tcp src-port=80
add action=mark-routing chain=prerouting comment=UPLAOD dst-port=80 in-interface=vlan3 new-routing-mark=TO-CACHE protocol=tcp src-address-list=ON-CACHE

The rules , just don’t work , not counting any packets

It works when replacing the list with
Down , src-address=20.20.20.20
Up , dst-address=20.20.20.20

If it matters , the vlans are on the same interface

I need to put several subnets using a list , any ideas?

Thanks

Is it CCR-specific, or you can repeat it on some MIPS-LE architecture (incl. x86)?