Hi!
I'll try to answer some of your questions below:
- why bgp has so poor performance?
What do you mean by "poor" performance? We're using BGP to our upstream providers without any issues (although we're only accepting the default route and not a full table).
- why bgp does not see restart of a peer? I have to refresh the peer
manualy on Mikrotik every time I reset its peer
This is something that haunted us for quite some time, until we debugged it with our upstream provider and saw that the timers weren't decrementing.
Access the CLI:
/routing bgp peer
print detail
Chances are there are no hold-timer or keepalive-timer references there (or they're set to 0 or something).
Set the hold-timer to 60 and the keepalive timer to 20 in order to emulate the timers on a Cisco device.
set 0 hold-timer=60 keepalive-timer=20
- how to check what prefixes are announced to peer?
You used to be able to access Quagga via telnet from the localhost on 2.8.xx, but 2.9.xx appears to have done away with that access to BGP.
You can view the networks you have in
/routing bgp network print detail
and also check your prefix lists that you may have attached for inbound or outbound advertisements.
- why routing table performance is so poor? (for example - list 180.000
entries, remove some etc)
- is it possible to do ttl checking of packets?
- how to make network definition in bgp instance
I don't have any info on these...
- how to make null interface
I don't know if this is recommended, but I've created a bridge interface without any ports being assigned to it in order to simulate a null interface.
- [admin@krk-r1] > /ip route remove 14235
item number too large
what to do with the above problem?
You cannot (at least on 2.8.xx) remove a dynamic route. If you wish to prevent a route learned via BGP from being injected into your table, use prefix lists to deny it.
- how to list only static routes?
I use MikroTik RouterOS 2.9.22 and routing-test package.
Thanks in advance for any help.
You could use some scripting:
:foreach route in [/ip route find static=yes] do [/ip route print from=$route]
Not pretty, but it could get you started to what you're trying to find.
-Rich