Hello again fellow bird users, Not sure if anyone has run across this before or not, but poking around with a couple of bird (1.3.7 and 1.3.3) instances on Linux (2.6 - 3.3), it seems that something related to bird is flushing the kernel route cache _very_ frequently? So quickly in fact that I often don't have _ANY_ cached routes displayed when running bird (BGP protocol ~400k routes). I noticed this initially running a simple 'watch -n 1 ip route show cache'. Is this normal? As soon as I disable the BGP protocols in bird I start seeing expected cached routes populate for connected networks, that persist normally for while till they eventually timeout. Turning on bird with BGP (full feed) all those disappear from the cache (ip ro sh cache). Interestingly I get different metrics via lnstat, which seems to indicate there are ~9k routes in the router cache table while the BGP protocol is running? (though again aren't displayed by iproute2) <snip> lnstat -c -1 -i 1 -f rt_cache -k entries,in_hit,in_slow_tot rt_cache|rt_cache|rt_cache| entries| in_hit|in_slow_| | | tot| 8563| 159| 37| 8668| 352| 69| 8725| 297| 42| 8790| 467| 50| 8857| 565| 53| 8929| 393| 62| 9036| 342| 113| 9122| 230| 94| 9186| 281| 66| 9340| 545| 89| </snip> Maybe this is a cosmetic issue with iproute2? or reason for concern (I should be tweaking the route cache GC)? I would hope adding/removing a dynamic route from the kernel routing tables shouldn't invalidate the entire route cache should it? Thanks for your time, I really appreciate all the work that goes into making Bird great. -Mike -- Michael Vallaly <bird@nolatency.com>
On Fri, Jul 13, 2012 at 01:26:03AM -0500, Michael Vallaly wrote:
Hello again fellow bird users,
Not sure if anyone has run across this before or not, but poking around with a couple of bird (1.3.7 and 1.3.3) instances on Linux (2.6 - 3.3), it seems that something related to bird is flushing the kernel route cache _very_ frequently?
So quickly in fact that I often don't have _ANY_ cached routes displayed when running bird (BGP protocol ~400k routes). I noticed this initially running a simple 'watch -n 1 ip route show cache'.
Is this normal? As soon as I disable the BGP protocols in bird I start seeing expected cached routes populate for connected networks, that persist normally for while till they eventually timeout.
I don't know. I would guess that any change in routing table may invalidate route cache, and that is internal kernel implementation issue. But even in that case there would be probably many new cached entries between route changes. So i would guess it is iproute2 issue (or kernel not sending notifications about cache entries) but not really problem with caching. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
participants (2)
-
Michael Vallaly -
Ondrej Zajicek