Issue with fasttrack and PCC

Hey guys. I need a little help.

I'm configuring my rb750 with an os 7.13 router with 2 isps (pppoe) as a wan using PCC to balance outgoing traffic between them.

Two strange scenarios happen:

1-When I use the fast track option using ONLY ONE active LINK on the WAN, I can reach 300mb of bandwidth.

2-If I turn on wan link 2, almost nothing works. As if it doesn't balance.

If I remove fasttrack (which is what I did), I can balance between the two links, but the bandwidth does not exceed 150mb.


My links are 300mb and 450mb respectively.

Could anyone help me find out what I did wrong?

Tks!!

Here's my config.

2023-12-19 09:44:52 by RouterOS 7.13

model = RB750Gr3

/interface bridge
add name=bridge-LAN
/interface ethernet
set [ find default-name=ether2 ] mac-address=C0:D1:93:39:12:DB
/interface list
add name=LAN
add name=WAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip hotspot profile
set [ find default=yes ] html-directory=hotspot
/ip pool
add name=dhcp_pool0 ranges=192.168.10.10-192.168.10.200
/ip dhcp-server
add address-pool=dhcp_pool0 interface=bridge-LAN lease-time=10m name=dhcp1
/port
set 0 name=serial0
/ppp profile
add name=Vivo-PPPoE on-down=
"/ip route remove [find comment="Monitoramento - Link 1"]" on-up="/ip ro
ute add ds=1.1.1.1 gateway=$"remote-address" comment="Monitoramento -
Link 1" scope=10"
add name=Tely-PPPoE on-down=
"/ip route remove [find comment="Monitoramento - Link 2"]" on-up="/ip ro
ute add ds=1.0.0.1 gateway=$"remote-address" comment="Monitoramento -
Link 2" scope=10"
/interface pppoe-client
add disabled=no interface=ether1 max-mtu=1490 name=pppoe-out1 profile=
Vivo-PPPoE user=sensitive
add disabled=no interface=ether2 max-mtu=1490 name=pppoe-out2 profile=
Tely-PPPoE user=sensitive
/routing table
add disabled=no fib name=to-wan1
add disabled=no fib name=to-wan2
/interface bridge port
add bridge=bridge-LAN interface=ether3
add bridge=bridge-LAN interface=ether4
add bridge=bridge-LAN interface=ether5
/interface list member
add interface=bridge-LAN list=LAN
add interface=pppoe-out1 list=WAN
add interface=pppoe-out2 list=WAN
/ip address
add address=192.168.10.1/24 interface=bridge-LAN network=192.168.10.0
/ip dhcp-server network
add address=192.168.10.0/24 gateway=192.168.10.1
/ip dns
set allow-remote-requests=yes servers=8.8.8.8
/ip firewall address-list
add address=192.168.10.0/24 list=local
/ip firewall filter
add action=fasttrack-connection chain=forward connection-state=
established,related disabled=yes hw-offload=yes
add action=accept chain=input comment="accept established,related,untracked"
connection-state=established,related,untracked
add action=drop chain=input comment="drop invalid" connection-state=invalid
add action=accept chain=input comment="accept ICMP" in-interface-list=LAN
protocol=icmp
add action=drop chain=input comment="drop all not coming from LAN"
in-interface-list=!LAN
add action=accept chain=forward comment=
"accept established,related, untracked" connection-state=
established,related,untracked
add action=drop chain=forward comment="drop invalid" connection-state=invalid
add action=accept chain=forward comment="accept in ipsec policy"
ipsec-policy=in,ipsec
add action=accept chain=forward comment="accept out ipsec policy"
ipsec-policy=out,ipsec
add action=drop chain=forward comment="drop all from WAN not DSTNATed"
connection-nat-state=!dstnat in-interface-list=WAN
/ip firewall mangle
add action=accept chain=prerouting comment="Bypass - Rede Local"
dst-address-list=local src-address-list=local
add action=mark-connection chain=prerouting comment=
"Mark Connection - Link 1 - 5/0" dst-address-type=!local
in-interface-list=LAN new-connection-mark=wan1 passthrough=yes
per-connection-classifier=both-addresses:5/0
add action=mark-connection chain=prerouting comment=
"Mark Connection - Link 1 - 5/1" dst-address-type=!local
in-interface-list=LAN new-connection-mark=wan1 passthrough=yes
per-connection-classifier=both-addresses:5/1
add action=mark-connection chain=prerouting comment=
"Mark Connection - Link 2 - 5/2" dst-address-type=!local
in-interface-list=LAN new-connection-mark=wan2 passthrough=yes
per-connection-classifier=both-addresses:5/2
add action=mark-connection chain=prerouting comment=
"Mark Connection - Link 2 - 5/3" dst-address-type=!local
in-interface-list=LAN new-connection-mark=wan2 passthrough=yes
per-connection-classifier=both-addresses:5/3
add action=mark-connection chain=prerouting comment=
"Mark Connection - Link 2 - 5/4" dst-address-type=!local
in-interface-list=LAN new-connection-mark=wan2 passthrough=yes
per-connection-classifier=both-addresses:5/4
add action=mark-routing chain=prerouting comment="Mark Routing"
connection-mark=wan1 in-interface-list=LAN new-routing-mark=to-wan1
passthrough=no
add action=mark-routing chain=prerouting connection-mark=wan2
in-interface-list=LAN new-routing-mark=to-wan2 passthrough=no
add action=change-mss chain=forward comment="Regra para o PPPOE funcionar"
disabled=yes dst-limit=1,5,dst-address/1m40s limit=1,5:packet new-mss=
clamp-to-pmtu passthrough=yes protocol=tcp psd=21,3s,3,1 tcp-flags=syn
time=0s-1d,sun,mon,tue,wed,thu,fri,sat

pppoe-out2 not ready

add action=change-mss chain=forward new-mss=1452 out-interface=pppoe-out2
passthrough=yes protocol=tcp tcp-flags=syn tcp-mss=1301-65535
add action=change-mss chain=forward new-mss=1452 out-interface=pppoe-out1
passthrough=yes protocol=tcp tcp-flags=syn tcp-mss=1301-65535
/ip firewall nat
add action=masquerade chain=srcnat out-interface=pppoe-out1

pppoe-out2 not ready

add action=masquerade chain=srcnat out-interface=pppoe-out2
/ip route
add comment="Rota PCC - Link 1" disabled=no distance=1 dst-address=0.0.0.0/0
gateway=pppoe-out1 pref-src="" routing-table=to-wan1 scope=30
suppress-hw-offload=no target-scope=10
add comment="Rota PCC - Link 2" disabled=no distance=1 dst-address=0.0.0.0/0
gateway=pppoe-out2 pref-src="" routing-table=to-wan2 scope=30
suppress-hw-offload=no target-scope=10
add comment="Rota padrao - Link 1" disabled=no distance=1 dst-address=
0.0.0.0/0 gateway=pppoe-out1 pref-src="" routing-table=main scope=30
suppress-hw-offload=no target-scope=10 vrf-interface=pppoe-out1
add comment="Rota padrao - Link 2" disabled=no distance=1 dst-address=
0.0.0.0/0 gateway=pppoe-out2 pref-src="" routing-table=main scope=30
suppress-hw-offload=no target-scope=10 vrf-interface=pppoe-out2
add disabled=no distance=1 dst-address=1.0.0.1/32 gateway=pppoe-out2
pref-src="" routing-table=main scope=10 suppress-hw-offload=no
target-scope=10
add check-gateway=ping comment="Recursiva - Link 1" disabled=no distance=1
dst-address=0.0.0.0/0 gateway=1.1.1.1 pref-src="" routing-table=main
scope=30 suppress-hw-offload=no target-scope=11
add check-gateway=ping comment="Recursiva - Link 2" disabled=no distance=1
dst-address=0.0.0.0/0 gateway=1.0.0.1 pref-src="" routing-table=main
scope=30 suppress-hw-offload=no target-scope=11
add comment="Monitoramento - Link 1" dst-address=1.1.1.1 gateway=
179.184.96.14 scope=10
/ip service
set telnet address=192.168.10.0/24
set ftp address=192.168.10.0/24
set www address=192.168.10.0/24
set ssh address=192.168.10.0/24
set api address=192.168.10.0/24
set winbox address=192.168.10.0/24
set api-ssl address=192.168.10.0/24

/system note
set show-at-login=no

Fasttrack and mangle are mutually exclusive. The old fasttrack manual mentions this fact (end of Examples → Initial configuration section).
You can make a hybrid using both mangle and fasttrack, but you have to make fasttrack rule selective … it should not fasttrack packets which have to be mangled.

Second: your router (assuming RB750Gr3) is able to route at around 380Mbps real-life (give or take). Estimate is based on official test results, experience says that number under “routing → 25 ip filter rules → 512 byte packets” resembles real-life performance the most. However: test results are using fasttrack (and for this device they were done on ROS v6, which was somehow faster than v7 in certain use cases). And this is more or less what you’re getting with fasttrack enabled. Performance drop when fasttrack doesn’t work (either it’s disabled or if one uses IPv6) is very significant, drop to 1/3 or 1/4 of fasttrack performance is expected.

Still a pity that MT never implemented the NAT offoad the SOC is capable of in RouterOS, as UB did in EdgeOS for the EdgeRouter X & X-SFP (same hardware as the hEX & hEX-S). I used to use an EdgeRouter X-SFP that had no problem filling my 1G pipe either uploading or downloading (but not both at the same time, as the internal connection to the switch interfaces is a 1G bus).

Thanks a lot for your reply. So, could you please recommend any other device wich is able to rout up to 1gb?

rb4011 or rb5009

The RB4011 is old and the RB5009 is new and a much better investment for roughly the same amount of beans.
If you want lighter on the budget the hapax3 would be my recommendation.

Thanks guys!

I’ve followed Anav’s recommendation and bought a hap ax3.