Hello,
I am observing unexpected ECMP behavior in RouterOS v7 that seems to contradict both standard BGP behavior and MikroTik documentation.
According to MikroTik documentation:
“Multipath is not supported”
However, the behavior I am seeing goes beyond normal “equal-cost” routing.
Environment
RouterOS v7.x (same version on all devices)
Platforms:
CHR
CCR1036
Same BGP configuration and routing filters
Observed behavior on CHR
For a single prefix (example: 192.168.1.1/32), three iBGP routes exist:
Route A: LOCAL_PREF 100 → inactive
Route B: LOCAL_PREF 100 → active (ECMP)
Route C: LOCAL_PREF 99 → active (ECMP)
So:
Two routes are installed as ECMP
These two routes have different LOCAL_PREF values
One route with the same LOCAL_PREF as an active route is excluded
This means ECMP is created:
Not only without equal LOCAL_PREF
But also inconsistently across otherwise identical routes
Observed behavior on CCR1036
With the same RouterOS version and configuration:
Only one best path is installed
No ECMP occurs
Why this is problematic
LOCAL_PREF is ignored for ECMP grouping
ECMP is created across unequal BGP attributes
Behavior differs between CHR and CCR
Documentation states multipath is not supported
This causes unintended traffic splitting
Questions
Is ECMP across iBGP routes with different LOCAL_PREF values expected behavior?
If yes, why does documentation state that multipath is not supported?
Why does CHR behave differently from CCR with identical config?
What is the officially supported way to guarantee single-path iBGP forwarding?
At the moment, the only reliable workaround seems to be explicitly disabling multipath on iBGP sessions or enforcing different administrative distances.
I would appreciate clarification from MikroTik staff.
Thank you.


