Okay, I have tested 5.16 vs. 5.25 on an RB450G. They both behave the same. Not sure if it is a bug or not. Here is how to reproduce:
- Netinstall 5.25, blank config/no defaults
- Add ~1000 or so bogus routes to the default routing table:
[admin@MikroTik] > :for x from 0 to 3 do={:for y from 0 to 255 do={/ip route add dst-address=("192.168." . $x . "." . $y) gateway=127.0.0.1}}
[admin@MikroTik] > /ip route print count-only
1024
- Try to traverse the routing table, and time how long it takes:
[admin@MikroTik] > /ip route find dst-address~"1.2.3.4/32"
…with no MetaROUTER running, this will finish in about 1 second.
4. Now add a new MetaROUTER. RouterOS or imported does not matter; RAM size does not matter:
[admin@MikroTik] > /metarouter add disabled=no
- Traverse the routing table again while this MetaROUTER is running and doing nothing (0-1% CPU), and time how long it takes:
[admin@MikroTik] > /ip route find dst-address~"1.2.3.4/32"
…with 1 MetaROUTER running, this will finish in about 15 seconds!!!
If you have “/tool profiler” running, you will see the “console” process taking up all CPU time on the host during the routing table traversal.
– Nathan