I'm trying to identify if the following behaviour is a bug or is normal...
RB1100 Router with max RAM (2GB - 1.5GB supported in ROS). Bootloader = 2.29. ROS = 4.16. Router is idle on 0% cpu - routing <1Mbit/s traffic - I have installed it as a "proof of concept" to see if we could move some of our core routing to Mikrotik. The behaviour described below happens on winbox or direct serial connection. There are around 4 firewall rules and no other services running - just bgp and some static routes.
3 full BGP tables filtering out anything small then a /23. Filters set to reject rather than discard.
"/ip route count-only" shows 770930 (about right for 3x 330000 odd prefix tables)
Say I want to find out what static routes I have I issue :-
"/ip route print where static=yes"
router hits 100% cpu and takes 3-4 minutes to return the 22 static routes I have in place!
If I want to do the equiv of ciscos "show ip route 1.1.1.1" which returns an answer instantly on our cisco routers:-
/ip route print where x.x.x.x in dst-address
same as before - router hits 100% cpu and takes around 5 mins to return the prefix.
So is this a bug in 4.16 or is this normal ROS behaviour?
I can't see it being "normal" as the kernel/routing engine must be able to do a similar query to the one above in fractions of a second or the router would grind to a halt instantly in normal traffic.