Hello, continuing my travel now with OSPF, we have found two cases to crash bird via birdc: bird> show ospf topology all ospf_v4 Connection closed by server [00:50] replacement-router1.place5:~# ps aux | grep bird 14220 root 0:00 grep bird bird> show ospf state ospf_v4 Connection closed by server [23:44] router1.place6:~# birdc Unable to connect to server control socket (/var/run/bird.ctl): Connection refused The config leading to this is attached below. Best regards, Nico p.s.: In the documentation for the "instance id" it says "Default value is 0 unless OSPFv3-AF extended address families are used, see RFC 5838 for that case." And further above it says that RFC5838 is enabled by default. However shouldn't it be 64 in case of an ipv4 channel in ospf according to rfc5838? protocol ospf v3 ospf_v6 { instance id 0; ipv6 { import all; export all; }; area 0 { interface "bond0.8" { cost 5; hello 5; retransmit 2; wait 10; dead 20; }; }; } protocol ospf v3 ospf_v4 { instance id 64; ipv4 { import all; export all; }; area 0 { interface "bond0.8" { cost 5; hello 5; retransmit 2; wait 10; dead 20; }; }; } -- Modern, affordable, Swiss Virtual Machines. Visit www.datacenterlight.ch
Hi, I didn’t specified the instance id in my config and I use v2 for IPv4. It’s working for me. Here is my config: protocol ospf ospf_ipv4 { ipv4 { import all; import keep filtered; import limit 200 action block; import filter { if (net ~ [ 0.0.0.0/0 ]) then { reject; } else { accept; } }; export filter { if (proto = "kernel_ipv4" || proto = "direct1") then { accept; } else reject; }; }; area 0.0.0.0 { interface "tinc0" { bfd; }; }; }; protocol ospf v3 ospf_ipv6 { ipv6 { import all; import keep filtered; import limit 200 action block; import filter { accept; }; export filter { if (proto = "kernel_ipv6" || proto = "direct1") then { accept; } else reject; }; }; area 0.0.0.0 { interface "tinc0" { bfd; }; }; }; bird> show ospf topology all ospf_ipv4 area 0.0.0.0 router 45.91.126.96 distance 10 network 45.91.126.232/29 metric 10 router 45.91.126.233 distance 10 network 45.91.126.232/29 metric 10 router 45.91.126.236 distance 10 network 45.91.126.232/29 metric 10 router 45.91.126.237 distance 10 network 45.91.126.232/29 metric 65535 router 45.91.126.254 distance 0 network 45.91.126.232/29 metric 10 router 89.234.186.27 distance 10 network 45.91.126.232/29 metric 10 network 45.91.126.232/29 dr 89.234.186.27 distance 10 router 89.234.186.27 router 45.91.126.236 router 45.91.126.96 router 45.91.126.233 router 45.91.126.254 router 45.91.126.237 bird> show ospf state ospf_ipv4 area 0.0.0.0 router 45.91.126.96 distance 10 network 45.91.126.232/29 metric 10 xnetwork 45.91.126.96/31 metric 10 xrouter 45.91.126.254 metric 10 external 10.0.4.2/31 metric 10 external 45.91.126.0/28 metric 10 external 45.91.126.32/28 metric 10 external 45.91.126.96/31 metric 10 external 45.91.126.232/29 metric 10 external 192.168.0.0/16 metric 10 via 45.91.126.97 router 45.91.126.233 distance 10 network 45.91.126.232/29 metric 10 external 0.0.0.0/0 metric2 10000 external 45.91.126.232/29 metric2 10000 external 45.91.126.248/32 metric2 10000 external 100.67.0.16/30 metric2 10000 external 185.125.170.254/32 metric2 10000 external 185.181.60.0/24 metric2 10000 router 45.91.126.236 distance 10 network 45.91.126.232/29 metric 10 stubnet 0.0.0.0/0 metric 10 external 0.0.0.0/0 metric2 64 tag 4faa50fa external 10.185.77.0/29 metric2 64 tag 4faa50fa external 45.91.126.232/29 metric2 64 tag 4faa50fa external 79.170.80.128/25 metric2 64 tag 4faa50fa external 100.68.0.4/30 metric2 64 tag 4faa50fa router 45.91.126.237 distance 10 network 45.91.126.232/29 metric 65535 router 45.91.126.254 distance 0 network 45.91.126.232/29 metric 10 xnetwork 10.0.4.0/31 metric 10 xnetwork 45.91.126.96/31 metric 10 xrouter 10.0.4.0 metric 10 xrouter 45.91.126.96 metric 10 --More-- -- Alarig
On Sun, Dec 22, 2019 at 01:00:05AM +0100, Nico Schottelius wrote:
Hello,
continuing my travel now with OSPF, we have found two cases to crash bird via birdc:
bird> show ospf topology all ospf_v4 Connection closed by server [00:50] replacement-router1.place5:~# ps aux | grep bird 14220 root 0:00 grep bird
bird> show ospf state ospf_v4 Connection closed by server [23:44] router1.place6:~# birdc Unable to connect to server control socket (/var/run/bird.ctl): Connection refused
The config leading to this is attached below.
Hello Does not crash to me. Could you get core dump (running bird with ulimit -c unlimited) and send it to me? Do you use precompiled BIRD binaries from some package?
Best regards,
Nico
p.s.: In the documentation for the "instance id" it says "Default value is 0 unless OSPFv3-AF extended address families are used, see RFC 5838 for that case." And further above it says that RFC5838 is enabled by default.
However shouldn't it be 64 in case of an ipv4 channel in ospf according to rfc5838?
This is just a terminology detail - it means for basic AF (i.e. IPv6) default is 0, for OSPFv3-AF extended AFs (e.g. IPv4) default are values from RFC 5838 (e.g. 64). -- 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."
Hello Ondrej, Ondrej Zajicek <santiago@crfreenet.org> writes:
continuing my travel now with OSPF, we have found two cases to crash bird via birdc:
bird> show ospf topology all ospf_v4 Connection closed by server [00:50] replacement-router1.place5:~# ps aux | grep bird 14220 root 0:00 grep bird
bird> show ospf state ospf_v4 Connection closed by server [23:44] router1.place6:~# birdc Unable to connect to server control socket (/var/run/bird.ctl): Connection refused
The config leading to this is attached below.
Hello
Does not crash to me. Could you get core dump (running bird with ulimit -c unlimited) and send it to me?
Just ran: [16:53] router1.place6:~# ulimit -c unlimited [16:53] router1.place6:~# /usr/sbin/bird -s /run/bird.ctl -R -c /etc/bird.conf -P /run/bird.pid -f Other window: [16:54] router1.place6:~# birdc show ospf state ospf_v4 The core dump is 753M big. I'll upload it and send you the URL in private.
Do you use precompiled BIRD binaries from some package?
Precompiled for Alpine. Best regards, Nico -- Modern, affordable, Swiss Virtual Machines. Visit www.datacenterlight.ch
On Mon, Jan 13, 2020 at 12:25:17PM +0000, Kenth Eriksson wrote:
On Sun, 2019-12-22 at 16:57 +0100, Nico Schottelius wrote:
Hello
Does not crash to me. Could you get core dump (running bird with ulimit -c unlimited) and send it to me?
Is this issue analyzed and resolved?
Hi Not really, it was compiled on Alpine with musl libc and with stripped debug symbols, so i cannot get reasonable backtrace from that, and then forgot about that during holidays. Considering it is triggered in by 'show ospf topology/state', it may be issue there, probably related to big stack allocations there (which should be changed to some linpool allocations). Now i did a quick search that musl changed default stack size to 128 kB, so that is possibly to be hit in that code. -- 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 (4)
-
Alarig Le Lay -
Kenth Eriksson -
Nico Schottelius -
Ondrej Zajicek