I have already posted this in the General Support section, but I haven’t received any replies yet since I probably posted it in the wrong section: http://forum.mikrotik.com/t/passthrough-not-working-in-custom-chain-v5-0rc1/41664/1
My problem is that after the rule matched in the Firewall : Mangle table and I’ve set passthrough=no, it still continues to find matches.
You can see with the packet count that even though most of the packets matched with the first rule in the custom chain, the last rule in that custom chain still picked up ALL the packets:
Here’s the applicable code in /ip/firewall/mangle:
add action=jump chain=prerouting disabled=no in-interface=ether5-ADSL-MWeb \
jump-target=prerouting_internet
add action=mark-packet chain=prerouting_internet comment=\
"Mark incoming large download packets" connection-bytes=50000-0 disabled=\
no new-packet-mark=low-priority-in passthrough=no protocol=tcp src-port=\
21,80
add action=mark-packet chain=prerouting_internet comment=\
"Mark incoming small download packets" disabled=no new-packet-mark=\
Internet-In passthrough=no protocol=tcp src-port=21,80
add action=mark-packet chain=prerouting_internet comment=\
"Mark incoming newshost packets" disabled=no new-packet-mark=\
low-priority-in passthrough=no protocol=tcp src-port=119
add action=mark-packet chain=prerouting_internet comment=\
"Mark incoming game packets" disabled=no new-packet-mark=Game-In \
passthrough=no protocol=udp src-port=27005-27020,27215,28015-28020
add action=mark-packet chain=prerouting_internet comment=\
"Mark incoming game packets" disabled=no new-packet-mark=Game-In \
passthrough=no protocol=tcp src-port=6110-6119
add action=mark-packet chain=prerouting_internet comment=\
"Mark incoming Steam packets" disabled=no new-packet-mark=Steam-In \
passthrough=no protocol=udp src-port=27025-27050
add action=mark-packet chain=prerouting_internet comment=\
"Mark incoming Steam packets" disabled=no new-packet-mark=Steam-In \
passthrough=no protocol=tcp src-port=27025-27050
add action=mark-packet chain=prerouting_internet comment=\
"Mark incoming Internet packets" disabled=no new-packet-mark=\
low-priority-in passthrough=no
As a workaround, which is definitely not ideal, I have set the packet-mark=no-mark in the rules.