Hi, Linux 3.0.18 (using multiple routing tables with priorities set via ip rule but that's not relevant here I guess), bird 1.3.8 and weird problem. I have simple bird configuration, only one bgp peer. I'm NOT exporting received routes to kernel: protocol kernel { learn; export none; import all; scan time 15; } Now the problem is that there ARE weird routes (for IP X) are appearing in kernel cache table (and not any other) for routes that are received by bird. The weird routes are appearing when openvpn client connects to the same machine from IP X address. Cached routes are like this: IP_X from My_IP dev eth0 If I disable protocol bgp {} section then the problem goes away. I enable it, "configure" and problem reappears. Why bird has influence on linux kernel cache routing table if export none? No clue. Any ideas? config: router id xxx...; filter bgp_in_net prefix set PS; { accept; } filter bgp_out_net prefix set PS; { PS = [ something/24 ]; if ( net ~ PS ) then accept; reject; } protocol device { scan time 10; } protocol direct { interface "eth0"; } protocol direct { interface "eth1"; } protocol kernel { learn; export none; import all; scan time 15; } protocol bgp netia { debug { states, events }; description "net"; import filter bgp_in_net; export filter bgp_out_net; local as aaaa; neighbor bbbbbb as cccc; default bgp_local_pref 100; } -- Arkadiusz Miśkiewicz, arekm / maven.pl
On Sunday 16 of December 2012, Arkadiusz Miśkiewicz wrote:
Hi,
Linux 3.0.18 (using multiple routing tables with priorities set via ip rule but that's not relevant here I guess), bird 1.3.8 and weird problem.
3.6.10 kernel and the same problem exists.
I have simple bird configuration, only one bgp peer. I'm NOT exporting received routes to kernel:
protocol kernel { learn; export none; import all; scan time 15; }
I can remove whole protocol kernel section from config and the problem still happens. Disabling protocol bgp or protocol direct for one device and problem is gone. -- Arkadiusz Miśkiewicz, arekm / maven.pl
On Tue, Dec 18, 2012 at 10:35:31PM +0100, Arkadiusz Miśkiewicz wrote:
On Sunday 16 of December 2012, Arkadiusz Miśkiewicz wrote:
Hi,
Linux 3.0.18 (using multiple routing tables with priorities set via ip rule but that's not relevant here I guess), bird 1.3.8 and weird problem.
3.6.10 kernel and the same problem exists.
interestin. I thought route cache has been removed in 3.6 mk
On Wednesday 19 of December 2012, Martin Kraus wrote:
On Tue, Dec 18, 2012 at 10:35:31PM +0100, Arkadiusz Miśkiewicz wrote:
On Sunday 16 of December 2012, Arkadiusz Miśkiewicz wrote:
Hi,
Linux 3.0.18 (using multiple routing tables with priorities set via ip rule but that's not relevant here I guess), bird 1.3.8 and weird problem.
3.6.10 kernel and the same problem exists.
interestin. I thought route cache has been removed in 3.6
route cache was manifestation of the problem in 3.0.18 not the problem itself. You are right of course, there is no route cache in recent kernels but that doesn't mean problem should be gone. In 3.6.10 kernel tries to find IP X on locally connected interfaces (sends ARP requests; IP shows up in neighbor table etc), so the final effect is the same as in 3.0.18.
mk
-- Arkadiusz Miśkiewicz, arekm / maven.pl
On Wed, Dec 19, 2012 at 06:25:23AM +0100, Arkadiusz Miśkiewicz wrote:
On Wednesday 19 of December 2012, Martin Kraus wrote:
On Tue, Dec 18, 2012 at 10:35:31PM +0100, Arkadiusz Miśkiewicz wrote:
On Sunday 16 of December 2012, Arkadiusz Miśkiewicz wrote:
Hi,
Linux 3.0.18 (using multiple routing tables with priorities set via ip rule but that's not relevant here I guess), bird 1.3.8 and weird problem.
3.6.10 kernel and the same problem exists.
interestin. I thought route cache has been removed in 3.6
route cache was manifestation of the problem in 3.0.18 not the problem itself. You are right of course, there is no route cache in recent kernels but that doesn't mean problem should be gone.
In 3.6.10 kernel tries to find IP X on locally connected interfaces (sends ARP requests; IP shows up in neighbor table etc), so the final effect is the same as in 3.0.18.
You were saying that the routes were appearing only in the route cache. if the route cache is gone can you summarize what the problem is now? If kernel is trying to resolv the IP X localy and it appears in arp cache then I don't see what is it doing wrong. Also what are the contents of the routing tables and whether there is any difference between the state when running bird and when bird is shutdown? mk
On Tue, Dec 18, 2012 at 10:35:31PM +0100, Arkadiusz Miśkiewicz wrote:
On Sunday 16 of December 2012, Arkadiusz Miśkiewicz wrote:
Hi,
Linux 3.0.18 (using multiple routing tables with priorities set via ip rule but that's not relevant here I guess), bird 1.3.8 and weird problem.
3.6.10 kernel and the same problem exists.
I have simple bird configuration, only one bgp peer. I'm NOT exporting received routes to kernel:
protocol kernel { learn; export none; import all; scan time 15; }
I can remove whole protocol kernel section from config and the problem still happens.
I guess this is something unrelated to BIRD, perhaps even expected behavior of the kernel - if there is a communication between IP_X and router, router has route cache entry for IP_X. Protocol bgp could trigger or allow such communitcation. I don't have a clue how this could be related to protocol direct. -- 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 (3)
-
Arkadiusz Miśkiewicz -
Martin Kraus -
Ondrej Zajicek