erroneous "Netlink: File exists" ?
Hi, So I've seen this issue mentioned in past mailings, and the FAQ, but I think I might be experiencing a buggy form of it in Bird 1.3.10. In debug mode I'm getting this: May 23 23:59:06 wugpi bird: device1: Scanning interfaces May 23 23:59:06 wugpi bird: CTWUG: HELLO packet sent via eth0 May 23 23:59:06 wugpi bird: kernel1: Scanning routing table May 23 23:59:06 wugpi bird: kernel1: Pruning table master May 23 23:59:06 wugpi bird: kernel1: 172.18.102.32/32: reinstalling May 23 23:59:06 wugpi bird: Netlink: File exists May 23 23:59:06 wugpi bird: kernel1: 172.18.102.160/28: reinstalling May 23 23:59:06 wugpi bird: Netlink: File exists May 23 23:59:06 wugpi bird: kernel1: 172.18.102.224/28: reinstalling May 23 23:59:06 wugpi bird: Netlink: File exists May 23 23:59:06 wugpi bird: kernel1: 172.18.102.240/28: reinstalling May 23 23:59:06 wugpi bird: Netlink: File exists May 23 23:59:06 wugpi bird: kernel1: 172.18.128.0/22: reinstalling May 23 23:59:06 wugpi bird: Netlink: File exists May 23 23:59:06 wugpi bird: ... Those prefixes are from OSPF only, and are not alien routes. My routing table without bird: # ip route list default via 172.18.102.7 dev eth0 172.18.102.0/28 dev eth0 proto kernel scope link src 172.18.102.8 172.18.102.71 via 172.18.102.7 dev eth0 With bird: # ip route list default via 172.18.102.7 dev eth0 172.16.0.0/12 via 172.18.102.1 dev eth0 proto bird 172.18.0.0/16 via 172.18.102.1 dev eth0 proto bird 172.18.1.1 via 172.18.102.7 dev eth0 proto bird 172.18.100.0/24 via 172.18.102.1 dev eth0 proto bird 172.18.100.2 via 172.18.102.1 dev eth0 proto bird 172.18.100.16/30 via 172.18.102.1 dev eth0 proto bird 172.18.100.20/30 via 172.18.102.1 dev eth0 proto bird 172.18.100.22 via 172.18.102.1 dev eth0 proto bird 172.18.100.24/30 via 172.18.102.1 dev eth0 proto bird 172.18.100.28/30 via 172.18.102.1 dev eth0 proto bird 172.18.100.29 via 172.18.102.1 dev eth0 proto bird 172.18.101.0/24 via 172.18.102.1 dev eth0 proto bird 172.18.102.0/28 dev eth0 proto kernel scope link src 172.18.102.8 172.18.102.1 via 172.18.102.1 dev eth0 proto bird 172.18.102.16/29 via 172.18.102.1 dev eth0 proto bird 172.18.102.18 via 172.18.102.1 dev eth0 proto bird 172.18.102.24/30 via 172.18.102.1 dev eth0 proto bird 172.18.102.32 via 172.18.102.7 dev eth0 proto bird 172.18.102.64/28 via 172.18.102.7 dev eth0 proto bird 172.18.102.71 via 172.18.102.7 dev eth0 172.18.102.128/27 via 172.18.102.14 dev eth0 proto bird 172.18.102.160/28 via 172.18.102.11 dev eth0 proto bird 172.18.102.192/28 via 172.18.102.9 dev eth0 proto bird 172.18.102.208/28 via 172.18.102.12 dev eth0 proto bird 172.18.102.224/28 via 172.18.102.10 dev eth0 proto bird 172.18.102.240/28 via 172.18.102.13 dev eth0 proto bird 172.18.103.0/24 via 172.18.102.1 dev eth0 proto bird 172.18.103.1 via 172.18.102.1 dev eth0 proto bird 172.18.128.0/22 via 172.18.102.1 dev eth0 proto bird Kernel: # uname -a Linux wugpi 3.6.11+ #452 PREEMPT Fri May 17 14:25:40 BST 2013 armv6l GNU/Linux Bird config: filter ospfin { if net ~ 172.16.0.0/12 then accept; reject; } protocol kernel { learn; scan time 20; import none; export all; } protocol device { scan time 10; } protocol ospf CTWUG { import filter ospfin; export none; area 172.18.102.0 { interface "eth*" 172.16.0.0/12 { type broadcast; priority 0; }; }; } Any ideas please? Before I start fumbling in source code... :) Thanks, Aragon
On Fri, May 24, 2013 at 12:10:45AM +0200, Aragon Gouveia wrote:
Hi,
So I've seen this issue mentioned in past mailings, and the FAQ, but I think I might be experiencing a buggy form of it in Bird 1.3.10. ... Any ideas please? Before I start fumbling in source code... :)
Hello What is your output of 'show route' from birdc? Isn't there any other error message in log just after the start of BIRD? Could you replicate the same behavior with just the static routes? Is the problem the same with disabled 'learn' option? Could you try to import some route created by 'ip route add'? -- 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."
Hi Ondrej, On 24/05/2013 09:16, Ondrej Zajicek wrote:
What is your output of 'show route' from birdc?
Looks like only OSPF prefixes appear there, although my kernel protocol was configured with "import none": http://pastebin.com/adpp5aL2
Isn't there any other error message in log just after the start of BIRD?
I don't see anything, but I've added "log stderr all" and "debug protocols all" to my config, and have pasted the output of "bird -d" here: http://pastebin.com/pa4Jm3bE The first of the Netlink errors occurs at line 720, and just repeats after that.
Could you replicate the same behavior with just the static routes?
So with static routes defined in bird's config, I don't get the Netlink errors on them. They appear in 'ip route list', and on other OSPF routers. Config and debug startup pasted here: http://pastebin.com/31Ss7D2R
Is the problem the same with disabled 'learn' option?
With learn commented, the Netlink errors still occur.
Could you try to import some route created by 'ip route add'?
Mmm, yes, this is strange. I'm not able to import static routes from the Linux kernel. They don't show in birdc's "show route" output and don't get exported to OSPF. I've pasted 'ip route list' output, bird config, debug startup, and bird routes here: http://pastebin.com/Wq5ip3x9 Thank you, Ondrej, for looking at this. :) Regards, Aragon
On Sun, May 26, 2013 at 01:07:53PM +0200, Aragon Gouveia wrote:
What is your output of 'show route' from birdc?
Looks like only OSPF prefixes appear there, although my kernel protocol was configured with "import none":
That is OK, kernel protocol filters are pretty unrelated to this.
Could you replicate the same behavior with just the static routes?
So with static routes defined in bird's config, I don't get the Netlink errors on them. They appear in 'ip route list', and on other OSPF routers.
Could you try to import some route created by 'ip route add'?
Mmm, yes, this is strange. I'm not able to import static routes from the Linux kernel. They don't show in birdc's "show route" output and don't get exported to OSPF.
It seems that OSPF routes are exported to the kernel (although it would be a good idea to verify that by 'ip route list' from shell), but they are not detected (for some reason) by BIRD during kernel route table scan and therefore BIRD tries to reinstall them, which fails (because they are already there). The same explanation is for failure to import routes created by 'ip route add'. It seems that some routes could be detected during scan (the ones that was defined as static routes in BIRD). But you tried routes with 'drop' target, perhaps you should try to define static routes with the same 'via' like ones from OSPF. Dees the problem manifest with them? What is your kernel version? What is your output of 'show interfaces' and 'ip addr list'? -- 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."
Hi Ondrej, On 27/05/2013 10:11, Ondrej Zajicek wrote:
It seems that OSPF routes are exported to the kernel (although it would be a good idea to verify that by 'ip route list' from shell), but they
Yes, all the OSPF routes do appear in 'ip route list'.
It seems that some routes could be detected during scan (the ones that was defined as static routes in BIRD). But you tried routes with 'drop' target, perhaps you should try to define static routes with the same 'via' like ones from OSPF. Dees the problem manifest with them?
Static routes with the same 'via' as one of the problematic OSPF routes seem to cause a Netlink error when Bird starts up, but it doesn't repeat every 20 seconds like the OSPF routes. The static routes appear in 'ip route list' and in 'show route'. Config and log here: http://pastebin.com/LW7e73vR
What is your kernel version?
Linux wugpi 3.6.11+ #456 PREEMPT Mon May 20 17:42:15 BST 2013 armv6l GNU/Linux
What is your output of 'show interfaces' and 'ip addr list'?
bird> show interfaces lo up (index=1) MultiAccess AdminUp LinkUp Loopback Ignored MTU=16436 172.18.1.1/32 (Primary, scope site) 127.0.0.1/8 (Unselected, scope host) eth0 up (index=2) MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500 172.18.102.8/28 (Primary, scope site) # ip addr list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet 172.18.1.1/32 scope global lo:0 inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether b8:27:eb:66:8b:89 brd ff:ff:ff:ff:ff:ff inet 172.18.102.8/28 brd 172.18.102.15 scope global eth0 inet6 fe80::ba27:ebff:fe66:8b89/64 scope link valid_lft forever preferred_lft forever Thanks, Aragon
On Mon, May 27, 2013 at 02:58:20PM +0200, Aragon Gouveia wrote:
Hi Ondrej,
On 27/05/2013 10:11, Ondrej Zajicek wrote:
It seems that OSPF routes are exported to the kernel (although it would be a good idea to verify that by 'ip route list' from shell), but they
Yes, all the OSPF routes do appear in 'ip route list'.
It seems that some routes could be detected during scan (the ones that was defined as static routes in BIRD). But you tried routes with 'drop' target, perhaps you should try to define static routes with the same 'via' like ones from OSPF. Dees the problem manifest with them?
Static routes with the same 'via' as one of the problematic OSPF routes seem to cause a Netlink error when Bird starts up, but it doesn't repeat every 20 seconds like the OSPF routes. The static routes appear in 'ip route list' and in 'show route'. Config and log here:
Well, the netlink errors are here, they are just rate-limited: 27-05-2013 14:51:55 <TRACE> kernel1: 172.18.102.224/28: reinstalling 27-05-2013 14:51:55 <WARN> Netlink: File exists 27-05-2013 14:51:55 <TRACE> kernel1: 172.18.102.240/28: reinstalling 27-05-2013 14:51:55 <WARN> Netlink: File exists 27-05-2013 14:51:55 <TRACE> kernel1: 172.18.128.0/22: reinstalling 27-05-2013 14:51:55 <WARN> Netlink: File exists 27-05-2013 14:51:55 <WARN> ... ^^^ ratelimiting starts ^^^ 27-05-2013 14:51:55 <TRACE> kernel1: 172.18.100.0/24: reinstalling 27-05-2013 14:51:55 <TRACE> kernel1: 172.18.101.0/24: reinstalling 27-05-2013 14:51:55 <TRACE> kernel1: 172.18.102.64/28: reinstalling
What is your kernel version?
Linux wugpi 3.6.11+ #456 PREEMPT Mon May 20 17:42:15 BST 2013 armv6l GNU/Linux
What is your output of 'show interfaces' and 'ip addr list'?
This seems OK. Could you try BIRD with the first attached patch fix-6to4.patch and if it does not help, also with the second one update-log.patch? That would generate log messages that would probably show where the problem is. -- 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)
-
Aragon Gouveia -
Ondrej Zajicek